91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 1.43MB
    文件類型: .zip
    金幣: 2
    下載: 0 次
    發布日期: 2023-08-27
  • 語言: Java
  • 標簽: java??即時通訊??

資源簡介

本程序使用的是 TCP 協議實現的即時通信軟件,程序是基于 Java 語言開發的,主要用到的技術有:
Socket 編程
自定義協議
如果使用普通的方法來標記一條消息的結束,如換行符,那么程序就不易擴展,只能發送純文本消息,所以
需要自己定義一種消息的格式,并且我們還需要提供發送消息與解析消息的方法。
服務器端創建一個 ServerSocket,循環等待客戶端的連接,每當有客戶端連接,就獲取到客戶端的 Socket 對象,
并將該對象交付給一個服務器端線程處理,服務器端線程會不斷從 Socket 的輸入流中解析出消息類型、長度及消
息內容,然后根據類型執行不同的操作。 客戶端與服務器建立連接,同時開啟一個客戶端線程接收服務器端發送的
消息,客戶端登錄是向服務器發送一條登錄命令,客戶端向服務器發送一條消息首先需要包裝成定義的消息格式,
然后再發送給服務器。 不管是發送消息還是發送命令其實本質都是一條消息,向服務器發送的消息都必須按照定義
的格式來

資源截圖

代碼片段和文件信息

package?client;

import?java.io.DataOutputStream;
import?java.io.IOException;
import?java.net.Socket;
import?java.net.UnknownHostException;

import?myutil.Protocol;

/**
?*?封裝客戶端與服務器通信的細節
?*/
public?class?Client?{

//套接字
Socket?socket;

//輸出流
DataOutputStream?dos?=?null;

/**
?*?連接服務器并初始化輸出流
?*?開啟客戶端線程負責消息的接收
?*?@param?address?服務器IP地址
?*?@param?port?服務器端口號
?*/
public?void?conn(String?address?int?port)?{
try?{
socket?=?new?Socket(address?port);
dos?=?new?DataOutputStream(socket.getOutputStream());
new?ClientThread(socket).start();
}?catch?(UnknownHostException?e)?{
e.printStackTrace();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}

/**
?*?登錄
?*?@param?user?用戶昵稱
?*/
public?void?load(String?user)?{
Protocol.send(Protocol.TYPE_LOADuser.getBytes()?dos);
}

/**
?*?發送消息
?*?@param?msg?消息內容
?*/
public?void?sendMsg(String?msg)?{
Protocol.send(Protocol.TYPE_TEXT?msg.getBytes()?dos);
}

/**
?*?退出
?*/
public?void?logout(){
Protocol.send(Protocol.TYPE_LOGOUT?“logout“.getBytes()?dos);
}

/**
?*?關閉客戶端,釋放掉資源
?*/
public?void?close()?{
//?向服務器發送退出命令
Protocol.send(Protocol.TYPE_LOGOUT?new?String(“logout“).getBytes()?dos);
//?關閉資源
try?{
if?(dos?!=?null)
dos.close();
if?(socket?!=?null)
socket.close();
}?catch?(IOException?e)?{
e.printStackTrace();
}
}
}

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-10-30?18:26??chat\
?????文件?????????295??2018-06-29?20:01??chat\.classpath
?????文件?????????363??2018-06-29?20:01??chat\.project
?????目錄???????????0??2018-10-30?18:26??chat\.settings\
?????文件?????????587??2018-06-29?20:01??chat\.settings\org.eclipse.jdt.core.prefs
?????目錄???????????0??2018-10-30?18:26??chat\src\
?????目錄???????????0??2018-10-30?18:26??chat\src\Server\
?????文件?????????665??2018-06-29?20:01??chat\src\Server\Server.java
?????文件????????2597??2018-06-29?20:01??chat\src\Server\ServerThread.java
?????目錄???????????0??2018-10-30?18:26??chat\src\client\
?????文件????????1460??2018-06-29?20:01??chat\src\client\Client.java
?????文件????????1461??2018-06-29?20:01??chat\src\client\ClientThread.java
?????文件????????4691??2018-06-29?20:01??chat\src\client\View.java
?????目錄???????????0??2018-10-30?18:26??chat\src\myutil\
?????文件????????1361??2018-06-29?20:01??chat\src\myutil\Protocol.java
?????文件?????????755??2018-06-29?20:01??chat\src\myutil\Result.java
?????文件???????11263??2018-06-29?20:01??client.jar
?????文件????????5124??2018-06-29?20:01??server.jar
?????文件?????1586640??2018-10-31?18:32??基于JAVA的即時通信軟件.pdf
?????文件???????33432??2018-06-29?20:01??程序說明文檔.docx

評論

共有 條評論