win32下C Socket程式設計

2021-06-28 22:59:27 字數 2464 閱讀 4869

這個例子是從網上轉抄過來的,經過本人測試,沒有任何問題,想學socket程式設計的人可以看一下,非常不錯的入門程式。

伺服器端:

#include

#include

using namespace std;

const unsigned short listen_port = 7788; 

#pragma comment(lib,"ws2_32.lib") //ws2_32.lib檔案,提供了對以下網路相關api的支援,若使用其中的api,則應該將ws2_32.lib加入工程

int main(int argc, char* argv)

if ( wsadata.wversion != wversionrequested )  

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

if ( invalid_socket == sock )  

sockaddr_in addr_server;  

addr_server.sin_family  = af_inet;  

addr_server.sin_port    = htons(listen_port);  

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

err = bind(sock, (sockaddr*)&addr_server, sizeof(addr_server));  

if ( socket_error == err )

err = listen(sock, somaxconn);  

if ( socket_error == err )  

cout<<"start listening on port "int addrlen = sizeof(addr_client);  

while (true)  

sprintf(send_buf, "%s:%d said: %s", inet_ntoa(addr_client.sin_addr), ntohs(addr_client.sin_port), recv_buf);  

couterr = send(sock_con, send_buf, strlen(send_buf) + 1, 0);  

if ( socket_error == err )  

}  coutif ( socket_error == err )  

}  else  

}  return 0;

}客戶端:

#include

#include

using namespace std; 

const char* server_ip = "200.1.1.8";  

const unsigned short server_port = 7788;  

#pragma comment(lib,"ws2_32.lib") //ws2_32.lib檔案,提供了對以下網路相關api的支援,若使用其中的api,則應該將ws2_32.lib加入工程

int main(int argc, char* argv)  

if ( wsadata.wversion != wversionrequested )  

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

if ( invalid_socket == sock )  

sockaddr_in addr_server;  

addr_server.sin_family  = af_inet;  

addr_server.sin_port    = htons(server_port);  

addr_server.sin_addr.s_un.s_addr = inet_addr(server_ip);  

err = connect(sock, (sockaddr*)&addr_server, sizeof(addr_server));  

if ( socket_error == err )  

cout<<"connection established,input 'quit' or 'exit' to exit."char recv_buf[512];  

while (true)  

err = send(sock, send_buf, strlen(send_buf) + 1, 0);  

if ( socket_error == err )  

err = recv(sock, recv_buf, sizeof(recv_buf), 0);  

if ( err <= 0 )  

cout<}  

err = closesocket(sock);  

if ( socket_error == err )  

wsacleanup();  

return 0;  

}  

Win32 平台 C socket 程式設計練習

使用c 實現win32平台的tcp ip網路程式設計,練習socket的使用。服務端 include include const unsigned short listen port 8700 int main int argc,char argv using namespace std word ...

Win32程式設計

win32 malloc函式的底層實現是win32api utf 16編碼以16位無符號整數為單位,注意是16位為乙個單位,不是乙個字元就只有16位,這個要看字元的unicode編碼處於什麼範圍而定,有可能是2個位元組,也可能是4個位元組現在機器上的unicode編碼一般就是指utf 16 以兩個位...

Win32 下 C C 串列埠程式設計

在windows下,把串列埠當作是乙個檔案來操作,開啟串列埠時就像開啟檔案那樣,用完後必須使用關閉檔案的函式將串列埠關閉 與串列埠通訊有關的api函式 handle createfile lpctstr lpfilename,dword dwdesiredaccess,dword dwsharemo...