首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

这样的客户端和服务端程序能在一个局域网通信吗,该怎么处理

2012-02-24 
这样的客户端和服务端程序能在一个局域网通信吗客户端代码C/C++ codeSOCKET ClientSocketWSADATA wsaData

这样的客户端和服务端程序能在一个局域网通信吗
客户端代码

C/C++ code
SOCKET ClientSocket;    WSADATA wsaData;    sockaddr_in client,local;    WORD wVersion = MAKEWORD(2,0);    int wsaret = WSAStartup(wVersion, &wsaData);    if(wsaret != 0)    {        return 0;    }        client.sin_family = AF_INET;    client.sin_addr.s_addr = inet_addr(ServerIp);    client.sin_port = htons((u_short)SERVER_PORT);    local.sin_family = AF_INET;    local.sin_addr.s_addr = inet_addr(LocalIp);    local.sin_port = htons((u_short)LOCAL_PORT);    while(true)    {        ClientSocket = socket(AF_INET, SOCK_STREAM, 0);        bind(ClientSocket, (sockaddr*)&local, sizeof(local));        connect(ClientSocket, (sockaddr*)&client, sizeof(client));        char buf1[6],buf2[6];        _itoa_s(M, buf1, 10);        _itoa_s(Reboot, buf2, 10);        send(ClientSocket, buf1, sizeof(buf1), 0);        send(ClientSocket, buf2, sizeof(buf2), 0);        Sleep(10000);        closesocket(ClientSocket);    }    WSACleanup();

服务端
C/C++ code
SOCKET ServerSocket;    WSADATA wsaData;    sockaddr_in server;    WORD wVersion = MAKEWORD(2,0);    int wsaret = WSAStartup(wVersion,&wsaData);    if(wsaret != 0)    {        return 0;    }    server.sin_family = AF_INET;    server.sin_addr.s_addr = INADDR_ANY;    server.sin_port = htons((u_short)20248);    ServerSocket = socket(AF_INET,SOCK_STREAM,0);    if (ServerSocket == INVALID_SOCKET)    {        return 0;    }    if (bind(ServerSocket,(sockaddr*)&server,sizeof(server)) != 0)    {        return 0;    }    if (listen(ServerSocket,1000) != 0)    {        return 0;    }    SOCKET ClientSocket;    int clientlen = sizeof(client);    while(true)    {        ClientSocket = accept(ServerSocket,                        (struct sockaddr*)&client,                        &clientlen);        int Result1 = recv(ClientSocket, buf1, sizeof(buf1), 0);        int Result2 = recv(ClientSocket, buf2, sizeof(buf2), 0);        SetEvent(hEvent);        closesocket(ClientSocket);        Sleep(5000);    }    closesocket(ServerSocket);    WSACleanup();


[解决办法]
探讨
什么意图?弄2个死循环,而且不判断操作是否成功

热点排行