精華區beta b885060xx 關於我們 聯絡資訊
記得要 link Ws2_32.lib, 如果用的是 Visual C++, 選 Project, Settings... 選 Link, 在 Object/library modules: 加進 Ws2_32.lib, 選 OK 即可~ -- #include <Winsock2.h> #include <iostream> #include <stdio.h> using namespace std; int main() { SOCKET server_sockfd,client_sockfd; int server_len, client_len; struct sockaddr_in server_address; struct sockaddr_in client_address; { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 2, 2 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return 1; } if ( LOBYTE( wsaData.wVersion ) != 2 || HIBYTE( wsaData.wVersion ) != 2 ) { WSACleanup( ); } } server_sockfd=socket(AF_INET,SOCK_STREAM,0); server_address.sin_family=AF_INET; server_address.sin_addr.s_addr=inet_addr("140.112.30.125"); cout << server_address.sin_addr.s_addr << '\n'; server_address.sin_port=1234;//htons(1234); server_len=sizeof(server_address); if(bind(server_sockfd,(struct sockaddr *)&server_address,server_len)!=0) { cout << WSAGetLastError() << '\n'; printf("Error bind\n"); exit(0); } listen(server_sockfd,5); { char ch[10] ="default"; printf("server waiting....\n"); client_len = sizeof(client_address); client_sockfd=accept( server_sockfd, (struct sockaddr * ) & client_address, &client_len); recv(client_sockfd,ch,10,1); printf("%s\n",ch); closesocket(client_sockfd); } return 0; }