SOCKET套接字入門例項 附帶原始碼

2021-09-30 04:32:09 字數 1994 閱讀 4261

伺服器端:

int port = 2000;      //指定埠 (最後些在配置檔案中)

string host = "127.0.0.1";   //指定ip

ipaddress ip = ipaddress.parse(host);//把ip位址字串轉換為ipaddress型別的例項

ipendpoint ipep = new ipendpoint(ip, port);//用指定的埠和ip初始化ipendpoint類的新例項

int recv;//用於表示客戶端傳送的首席資訊官度

byte data = new byte[1024];//用於快取客戶端所傳送的資訊,通過socket傳遞的資訊必須為位元組陣列

//ipendpoint ipep=new ipendpoint(ipaddress.any,9050);//本機預使用的ip和埠(本人進行測試沒有通過)

socket newsock = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);

newsock.bind(ipep);//繫結

newsock.listen(3);//監聽

console.writeline("waiting for a client");

socket client = newsock.accept();//當有可用的客戶端連線嘗試時執行,並返回乙個新的socket,用於與客戶端之間的通訊

ipendpoint clientip = (ipendpoint)client.remoteendpoint;

console.writeline("connect with client:" + clientip.address + "atport:" + clientip.port);

string welcome = "welcome here!";

data = encoding.ascii.getbytes(welcome);

client.send(data, data.length, socketflags.none);//傳送資訊

while (true)

console.writeline("disconnected from" + clientip.address);

client.close();

newsock.close();

客戶端:

byte data = new byte[1024];

socket newclient = new socket(addressfamily.internetwork, sockettype.stream, protocoltype.tcp);

console.write("please input the server ip:");

string ipadd = console.readline();

console.writeline();

console.write("please input the server port:");

int port = convert.toint32(console.readline());

ipendpoint ie = new ipendpoint(ipaddress.parse(ipadd), port);//伺服器的ip和埠

trycatch (socketexception e)

int recv = newclient.receive(data);

string stringdata = encoding.ascii.getstring(data, 0, recv);

console.writeline(stringdata);

while (true)

console.writeline("disconnect from sercer");

newclient.shutdown(socketshutdown.both);

newclient.close();

套接字(二) Socket 套接字程式設計(附例項)

tcp ip位址家族統一的套接字位址結構定義如下 struct sockaddr in sin family 指定使用該套接字位址的位址家族。這裡必須設定為af inet,表示程式所使用的位址家族是tcp ip sin zero 8 主要是為了與第乙個版本的套接字位址結構大小相同而設定,實際使用時,...

套接字socket 概念和例項

套接字 socket 套接字概念 套接字是一種程序間通訊的方法,不同於以往介紹的的程序通訊方法的是,它並不侷限於同一臺計算機的資源,例如共享內容或者訊息佇列。一台機器上的程序可以使用套接字與另一台機器上的程序通訊。因此客戶與伺服器可以分散到網路中。同一臺機器的程序間也可以用套接字通訊。套接字的工作過...

套接字 Socket 定義

套接字介面可分為三類 公認埠 註冊埠 動態和 或私有埠 套接字,簡單的說就是通訊的兩方的一種約定,用套接字中的相關函式來完成通訊過程 應用層通過傳輸層進行資料通訊時,tcp和udp會遇到同時為多個應用程式程序提供併發服務的問題。多個tcp連線或多個應用程式程序可能需要通過同乙個 tcp協議埠傳輸資料...