c Socket通訊入門例項

2021-09-25 12:10:03 字數 2107 閱讀 6067

在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 如果連線成功...