記得要 link Ws2_32.lib, 如果用的是 Visual C++, 選 Project, Settings...
選 Link, 在 Object/library modules: 加進 Ws2_32.lib, 選 OK 即可~
--
#include<stdio.h>
#include<string.h>
#include<Winsock2.h>
int main()
{
SOCKET sockfd;
int result,len;
char host[20] = "140.112.30.49";
struct sockaddr_in address;
char ch[10];
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 2, 2 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return 0;
}
if ( LOBYTE( wsaData.wVersion ) != 2 ||
HIBYTE( wsaData.wVersion ) != 2 ) {
WSACleanup( );
return 0;
}
}
sockfd = socket(AF_INET, SOCK_STREAM, 0);
if(sockfd<0) {
perror("Open socket Error!\n");
exit(-1);
}
address.sin_family=AF_INET;
if((address.sin_addr.s_addr=inet_addr("140.112.30.125"))==INADDR_NONE) {
exit(-1);
}
address.sin_port=1234;//ntohs(1234);
for(int i=0;i<8;i++)
address.sin_zero[i] = 0;
len=sizeof(address);
result = connect(sockfd,(struct sockaddr *)&address,len);
if(result == SOCKET_ERROR){
//if(result==-1){
printf("%d\n",WSAGetLastError());
perror("connect socket Error!\n");
exit(-1);
}
strcpy(ch,"a");
send(sockfd,ch,1,1);
strcpy(ch,"Q");
send(sockfd,ch,1,1);
closesocket(sockfd);
//shutdown(sockfd,0);
return 0;
}