2 happy xiaofengfeng happy_xiaofengfeng 于 2014.10.26 14:53 提问

我想问问这个程序中用了什么算法

#include
#include
#pragma comment(lib,"ws2_32.lib")

int main(int argc, char **argv)
{
//创建套接字
WORD myVersionRequest;
WSADATA wsaData;
myVersionRequest = MAKEWORD(1, 1);
int err;
err = WSAStartup(myVersionRequest, &wsaData);
if (!err)
{
printf("已打开套接字\n");
}
else
{
printf("ERROR:嵌套字未打开!");
return 1;
}
//进一步绑定套接字
SOCKET serSocket = socket(AF_INET, SOCK_STREAM, 0);//创建了可识别套接字

//需要绑定的参数
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//ip地址
addr.sin_port = htons(6000);//绑定端口

bind(serSocket, (SOCKADDR*)&addr, sizeof(SOCKADDR));//绑定完成
listen(serSocket, 5);//其中第二个参数代表能够接收的最多的连接数

//////////////////////////////////////////////////////////////////////////
//开始进行监听
//////////////////////////////////////////////////////////////////////////
SOCKADDR_IN clientsocket;
int len = sizeof(SOCKADDR);
while (1)
{
    SOCKET serConn = accept(serSocket, (SOCKADDR*)&clientsocket, &len);//如果这里不是accept而是conection的话。。就会不断的监听
    char sendBuf[100];

    sprintf_s(sendBuf, "hello, %s !", inet_ntoa(clientsocket.sin_addr));//找对对应的IP并且将这行字打印到那里
    printf("Send:%s\n", sendBuf);
    send(serConn, sendBuf, strlen(sendBuf) + 1, 0);

    char receiveBuf[100];//接收
    recv(serConn, receiveBuf, sizeof(receiveBuf), 0);
    printf("recv:%s\n", receiveBuf);

    closesocket(serConn);//关闭
    WSACleanup();//释放资源的操作
    return 0;
}
return 1;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!