c语言你们用的啥编译器?我复制代码总不不能运行

#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++也不行。

visual stduio 2008能运行啊,devc++应该也可以啊,你用我下面贴的代码试试。

img

代码:

#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;
}

不能运行是编译报错了吗

您好,我是有问必答小助手,您的问题已经有小伙伴帮您解答,感谢您对有问必答的支持与关注!
PS:问答VIP年卡 【限时加赠:IT技术图书免费领】,了解详情>>> https://vip.csdn.net/askvip?utm_source=1146287632