首先我們需要新建乙個socket
//定義乙個socket
socket serversocket = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);
這三個引數分別是選擇ipv4或者是ipv6,第二個是選擇socket傳輸資料型別 dgram是資料報udp協議常用,stream是資料流,tcp
常用,第三個引數就是選擇網路協議型別。
接下來我們開始繫結ip和埠號
ipaddress ipaddress = ipaddress.parse("192.168.1.5");
ipendpoint ipendpoint = new ipendpoint(ipaddress, 8989);
//繫結ip和埠號
serversocket.bind(ipendpoint);
將你的ip和埠號繫結上去即可
接下來我們就開始監聽這個socket連線的狀態,如果有通訊的話我們就可以進行訊息處理
//開始監聽埠號
serversocket.listen(0);
//接收乙個連線
socket clientsocket = serversocket.accept();
string msg = "hellow world! 你好";
//轉換訊息
byte data = encoding.utf8.getbytes(msg);
//傳送訊息
clientsocket.send(data);
listen這個監聽的方法的引數代表等待個數,而不是連線個數,0代表沒有等待個數,多少都可以。
然後使用accept這個方法產生乙個新的和客戶端連線的socket(如果沒有連線,**會停留在監聽的的部分等待,直到有客戶端連線才會執行下面的**)。
後面就是將我們的訊息轉換成位元組流傳送給客戶端,通過send()方法,轉換字串這裡使用了utf8的格式getbytes()方法,這個格式可以轉換中文,同樣的接受也需要使用utf8的格式使用getstring()方法接受。
下面我們就要在伺服器接收客戶端傳送的訊息了
//接收訊息
byte databuffer = new
byte[1024];//開闢接收空間
intcount = clientsocket.receive(databuffer);//獲取訊息的位元組長度
string msgreceive = system.text.encoding.utf8.getstring(databuffer, 0, count);//讀取從0開始到位元組長度部分的資料,將多餘的空白位元組踢去
//輸出接收的資訊
console.writeline(msgreceive);
//關閉連線
clientsocket.close();//關閉和客戶端accept產生的socket連線
serversocket.close();//關閉自己的socket連線
完整**
///
/// 同步接收資料
///void startseversync()
);ipaddress ipaddress = ipaddress.parse("192.168.1.5");
ipendpoint ipendpoint = new ipendpoint(ipaddress, 8989);
//繫結ip和埠號
serversocket.bind(ipendpoint);
//開始監聽埠號
serversocket.listen(0);
//接收乙個連線
socket clientsocket = serversocket.accept();
string msg = "hellow world! 你好";
//轉換訊息
byte data = encoding.utf8.getbytes(msg);
//傳送訊息
clientsocket.send(data);
//接收訊息
byte databuffer = new
byte[1024];
int count = clientsocket.receive(databuffer);
string msgreceive = system.text.encoding.utf8.getstring(databuffer, 0, count);
console.writeline(msgreceive);
//關閉連線
clientsocket.close();
serversocket.close();
}
網路字典伺服器端
include include include include include include include include include include include define n 256 define r 1 user register define l 2 user login de...
C Socket伺服器端如何判斷客戶端斷開
使用socket類中的poll方法,就可以。socket client 假如已經建立好了,連線到伺服器端得socket的客戶端物件。我們只要client.poll 10,selectmode.selectread 判斷就行了。只要返回true是。就可以認為客戶端已經斷開了。poll 方法將會檢查 s...
C Socket伺服器端如何判斷客戶端斷開求解
socket client 假如已經建立好了,連線到伺服器端得socket的客戶端物件。我們只要client.poll 10,selectmode.selectread 判斷就行了。只要返回true是。就可以認為客戶端已經斷開了。poll 方法將會檢查 socket 的狀態。指定 selectmod...