#include <winsock2.h>
#include <stdio.h>
#include <stdlib.h>
#pragma comment(lib , "ws2_32.lib")
#define BUFSIZE 4096 /缓冲区大小/
#define PORT 0
#define IP 1
int main( )
{
WSADATA wsd;
SOCKET sClient;
char Buffer[BUFSIZE];
int ret;
struct sockaddr_in server;
unsigned short port;
struct hostent *host = NULL;
char getparameter[2][30];
printf("请输入服务器端口号:");
gets(getparameter[PORT]);
printf("请输入服务器IP地址:");
gets(getparameter[IP]);
/*加载Winsock DLL*/
if (WSAStartup(MAKEWORD(2 , 2) , &wsd) != 0) {
printf("Winsock 初始化失败!\n");
return 1;
}
/*创建Socket*/
sClient = socket(AF_INET , SOCK_STREAM , IPPROTO_TCP);
if (sClient == INVALID_SOCKET) {
printf("socket() 失败: %d\n" , WSAGetLastError());
return 1;
}
/*指定服务器地址*/
server.sin_family = AF_INET;
port = atoi(getparameter[PORT]);
server.sin_port = htons(port);
server.sin_addr.s_addr = inet_addr(getparameter[IP]);
if (server.sin_addr.s_addr == INADDR_NONE) {
host = gethostbyname(getparameter[IP]); //输入的地址可能是域名等
if (host == NULL) {
printf("无法解析服务端地址: %s\n" , getparameter[IP]);
return 1;
}
CopyMemory(&server.sin_addr ,
host->h_addr_list[0] ,
host->h_length);
}
/*与服务器建立连接*/
if (connect(sClient , (struct sockaddr*)&server ,
sizeof(server)) == SOCKET_ERROR) {
printf("connect() 失败: %d\n" , WSAGetLastError());
return 1;
}
//用完了,关闭socket句柄(文件描述符)
closesocket(sClient);
WSACleanup(); //清理
return 0;
}
就这个手机编译器不能运行,电脑Dev-C++也不行。