在c#中使用socket通訊,只要使用 visual studio中自帶的 using system.net和 using system.net.sockets;命名空間,這樣就可以進行通訊了。
一般服務端先執行,然後在執行客戶端。
其socket通訊的流程如下:
服務端:
1:建立乙個socket的物件,socket socketserver=new socket
(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);
第乙個引數是指定socket物件使用的定址方案,即ipv4或ipv6;
第二個引數socket物件的套接字的型別,此處stream是表示流式套接字
第三個引數socket物件支援的協議,tcp協議或udp協議。
這三個引數一般初期使用上面的就ok了,到了後期對socket通訊熟悉了再來看其它引數的功能及作用。
2:使用指定的埠號和伺服器的ip位址初始化system.net.ipendpoint類的例項
ipendpoint endpoint=new ipendpoint(ipaddress, port);
3:用socket對像socketserver的bind()方法繫結ipendpoint;
socketserver.bind(endpoint);
4:用socket對像socketserver的listen()方法開始監聽;
socketwatch.listen(20);//此處是讓伺服器可以監聽20個客戶端的連線。
5:接受到客戶端的連線,用socket對像的accept()方法建立新的socket對像用於和請求的客戶端進行通訊;
socketsocconnection = socketwatch.accept();//socconnection 就是伺服器監聽到的客戶端連線的套接字,伺服器就可以通過socconnection 和該連線的客戶端進行通訊。
6;此處就可以使用socconnection 進行通訊receive()和send();
7:通訊結束後一定記得關閉socket,close()方法;
客戶端:
1:建立乙個socket的物件socketclient(和伺服器一樣)
2:使用指定的埠號和伺服器的ip位址初始化system.net.ipendpoint類的例項(和伺服器一樣)
3:用socket對像socketclient的connect()方法以上面建立的ipendpoint對像做為引數,向伺服器發出連線請求;
其中connect的引數就是第二步ipendpoint的例項
4:連線成功後,就可以進行通訊(receive()和send())
5:通訊結束後一定記得關閉socket,close()方法;
這只是通訊時伺服器和客戶端的最簡單的流程。
下面寫個控制台應用程式的最簡單的socket通訊:
客戶端:
using system;
using system.collections.generic;
using system.linq;
using system.text;
using system.net;
using system.net.sockets;
using system.threading;
namespace cccc_consoleclient_1
catch
//通過clientsocket接受資料
int num = clientsocket.receive(result);
console.writeline("接收伺服器訊息:", encoding.ascii.getstring(result, 0, num));
//通過 clientsocket 傳送資料
for (int i = 0; i < 10; i++)
" + sendmessage);
}
catch
}
console.writeline("傳送完畢,按回車鍵退出");
console.readline(); }}
}伺服器:
原文:
c Socket通訊(一)例項複習
1.伺服器端的編寫 using system using system.net using system.net.sockets using system.text internal class test 定義乙個ip位址 endpoint point new ipendpoint ipaddres...
C Socket通訊例子
建立兩個工程檔案,server和client include include pragma comment lib,ws2 32.lib 靜態加入乙個lib檔案 pragma warning disable 4996 using namespace std intmain 繫結ip和埠 配置監聽位址...
C socket同步通訊
源博主鏈結 關於c socket通訊,分為同步和非同步通訊,本文簡單介紹一下同步通訊。通訊兩端分別為客戶端 client 和伺服器 server 1 建立乙個socket對像 2 用socket對像的connect 方法以上面建立的endpoint對像做為引數,向伺服器發出連線請求 3 如果連線成功...