基於TCP的網路程式設計

2021-06-16 10:10:43 字數 1739 閱讀 3043

伺服器端程式

#include

#include

#pragma comment (lib,"ws2_32.lib")

int main()

if(lobyte(wsadata.wversion)!=1||hibyte(wsadata.wversion)!=1)

/*printf("version: %d.%d\n",lobyte(wsadata.wversion),hibyte(wsadata.wversion));//注釋1

printf("high version: %d.%d\n", lobyte(wsadata.whighversion),hibyte(wsadata.whighversion) );//注釋2

printf("description: %s\n",wsadata.szdescription );//注釋3

printf("system status: %s\n",wsadata.szsystemstatus );//注釋4*/

//建立用於監聽的套接字

socket socksrv=socket(af_inet,sock_stream,0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);

addrsrv.sin_family=af_inet;

addrsrv.sin_port=htons(60000);

//繫結套接字

bind(socksrv,(sockaddr*)&addrsrv,sizeof(sockaddr));

listen(socksrv,5);

sockaddr_in addrclient;

int len=sizeof(sockaddr);

while(1)

return 0;

}客戶端程式

#include

#include

#pragma comment (lib,"ws2_32.lib")

#include

int main()

if(lobyte(wsadata.wversion)!=1||hibyte(wsadata.wversion)!=1)

//建立套接字

socket sockclient=socket(af_inet,sock_stream,0);

sockaddr_in addrsrv;

addrsrv.sin_addr.s_un.s_addr=inet_addr("127.0.0.1");

addrsrv.sin_family=af_inet;

addrsrv.sin_port=htons(6000);

//向伺服器發出連線請求

connect(sockclient,(sockaddr*)&addrsrv,sizeof(sockaddr));

//接收資料

char recvbuf[100];

recv(sockclient,recvbuf,100,0);

printf("s%",recvbuf);

//傳送資料

send(sockclient,"this is lisi",strlen("this is lisi")+1,0);

//關閉套接字

sleep(3000);

closesocket(sockclient);

wsacleanup();

return 0;

}

基於TCP的網路程式設計

載入winsock庫,繫結ws2 32.lib動態鏈結庫 建立socket套接字 將套接字繫結 bind 到指定的本機ip位址和埠上 將套接字設為監聽模式 listen 準備接受客戶端的請求 等待客戶端請求的到來 accept 並返回新的套接字進行通訊 伺服器和客戶端相互通訊 send recv 返...

基於TCP 的網路程式設計步驟

基於tcp 伺服器端 1.建立乙個socket,用函式socket 2.繫結ip位址 埠等資訊到socket上,用函式bind 3.設定允許的最大連線數,用函式listen 4.等待來自客戶端的連線請求,用函式accept 5.收發資料,用函式send 和recv 或者read 和write 6.關...

Java網路程式設計 基於TCP協議的網路程式設計(三)

增加聊天室功能 1.可以看到是誰發的訊息。2.實現私聊功能。實現方法 對於第乙個功能,可以使用map集合來儲存使用者資訊 第二個功能可以在客戶端傳送不同訊息時,對這些訊息進行處理,比如在訊息內容前後新增一些特殊字元,通過這些特殊字元來判斷。實現 特殊字元類 public inte ce chatro...