通訊客戶端的實現

2021-09-02 03:49:49 字數 1022 閱讀 5603

[color=blue]客戶端的實現

其實客戶端的實現並是那麼複雜,在所有的通訊過程中,只要客戶端和伺服器按照一定的通訊協議(可以是自定義啊)來收發讀取訊息就行~

**實現如下:[/color]

一:建立乙個客戶端的socket:就這一行就行了

socket socket = new socket(ip, duankou);

其中ip是伺服器的ip位址,duankou是伺服器的的埠號。

二:得到與伺服器之間的輸入輸出流;

inputstream input=socket.getinputstream();

outputstream output=socket.getoutputstream();

[color=blue]我們還得有乙個讀取位元組轉化為字串的方法定義如下方法即可?[/color]///讀取每一行的輸入的資訊~~~

private string linestring(inputstream input) throws ioexception

///把每個位元組存到佇列中

baos.write(a);

}///把字元陣列佇列轉化為字元陣列

byte bytes=baos.tobytearray();

//再把字元陣列轉化為字串~~

string str=new string(bytes,"gbk");

return str;

}[color=blue]甚至我們還可再寫乙個傳送字串的方法~是**更具有模組化~有可讀性~[/color]

public void send(string mess) catch (ioexception e)

}[color=blue]其實這樣就行了~然後我們就可以用輸入流來讀取從客戶端發來的資訊,使用輸出流向伺服器傳送資訊,但是存在的問題是我們必須得知道我們傳送的和接收到的資訊必須是什麼~我們怎麼來接收這些一大堆的位元組~他們有表示什麼含義呢,我們絕對不是什麼都不知道的就一股氣就接收到了這些全部啊~~所以我們得事先定製好乙份協議來幫助我們怎樣才能擷取讀取這些位元組。[/color]

TCP通訊,多客戶端通訊(客戶端 服務端)

客戶端和伺服器間的交流,客戶端傳送資訊,伺服器接收到,並返回資訊 長連線建立socket連線服務端 指定ip位址,埠號 通過ip位址找對應的伺服器 呼叫socket的getinputstream 和getoutputstream 方法獲取和服務端相連的io流 輸入流可以讀取服務端輸出流寫出的資料 輸...

UDP通訊(客戶端)

根據網上的資源修改的 include include include pragma comment lib,ws2 32.lib int client void int main int argc,char argv int client void local.sin family af inet ...

TCP通訊(客戶端)

修改自網路 include include include pragma comment lib,ws2 32.lib int client void unsigned short port int main int argc,char argv int client void if isockcl...