伺服器端:
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協議埠傳輸資料...