1.服務端
流程:1、建立套接字,即呼叫socket(),根據需要選擇引數型別
2、根據位址和埠號,繫結服務端,即呼叫bind()
3、將套接字設為監聽套接字,並設定監聽數,即呼叫listen()
4、阻塞等待等待客戶端連線請求,即呼叫accept()
5、接受傳送訊息,即呼叫recv(),send()函式
6、關閉套接字,即呼叫close()
#include #include #include #include #include #include #include #include using namespace std;
class server
serveraddr.sin_family = af_inet; // af_inet協議族
serveraddr.sin_port = htons(port); // 將埠號轉換為網路位元組型埠
serveraddr.sin_addr.s_addr = htonl(inaddr_any); // 獲取本機位址,並轉為網路位元組型
bind(serverfd, (struct sockaddr*)&serveraddr, sizeof(serveraddr));
// 這裡繫結服務端位址,注意第二個引數,必須傳指標,型別為void*
listen(serverfd, backlog);
// 監聽服務端,並設定最大監聽數
}void run()
~server()
if(serverfd != -1)
}int test()
catch(const char* e)
delete s;
// 清理記憶體
}int main(int argc, char *ar**)
2.客戶端
流程:1、建立套接字,即呼叫socket()
2、根據位址,埠號繫結位址,即呼叫bind()
3、發起連線服務端請求,即呼叫connect()
4、接收發訊息,即recv(),send()
5、關閉套接字,close()
#include #include #include #include #include #include #include #include #include using namespace std;
class client
serveraddr.sin_family = af_inet;
serveraddr.sin_port = htons(port);
inet_pton(af_inet, "127.0.0.1", &serveraddr.sin_addr.s_addr);
int ret1;
ret1 = connect(serverfd, (struct sockaddr*)&serveraddr, sizeof(serveraddr));
}void run()
~client()
}};int test()
catch(const char* e)
}int main(int argc, char *ar**)
C Socket網路Tcp通訊
01,申請乙個socket 02,繫結到乙個ip位址和乙個埠上 03,開啟偵聽,等待接收連線 01,申請乙個socket 02,連線伺服器 指明ip位址和埠號 伺服器端接收到連線請求後,產生乙個新的socket 埠大於1024 與客戶端建立連線並進行通訊,原監聽socket繼續監聽。注意 負責通訊的...
C 網路通訊
c 網路通訊 一 伺服器端程式 10.17 1.建立伺服器端socket 1 使用socket類 建立伺服器socket物件 socket objs new socket 引數 使用ipendpoint類設定伺服器ip位址和埠號 或使用dns類 ipaddress serip ipaddress.p...
Winsock網路通訊
winsock網路通訊 這裡我希望和大家 一下winsock網上通訊的程式,由於網際網路的普及,越來越多的程式具有了在網上與其他程式通訊的功能.其實所有這些功能都建立在winsock介面之上,應用程式執行大多數網路通訊的基本物件稱為套介面或軟插口 socket 使用mfc winsocket類新增網...