有关windows服务器的一个问题
socket windows 服务器
#include <WinSock2.h>
#include <stdio.h>
int main()
{
SOCKET sockSrv = socket(AF_INET, SOCK_DGRAM, 0);
SOCKADDR_IN addrSrv;
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(5173);
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(addrSrv));
char recvBuf[100];
char sendBuf[100];
char tempBuf[200];
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while (1)
{
recvfrom(sockSrv, recvBuf, 100, 0, (SOCKADDR*)&addrClient, &len);
if ('q' == recvBuf[0])
{
sendto(sockSrv, "q", strlen("q")+1, 0,(SOCKADDR*)&addrClient, len);
printf("Chat end!\n");
break;
}
sprintf_s(tempBuf, "%s say: %s", inet_ntoa(addrClient.sin_addr), recvBuf);
printf_s("%s\n", tempBuf);
printf("Please input data:\n");
gets_s(sendBuf);
sendto(sockSrv, sendBuf, strlen(sendBuf)+1, 0, (SOCKADDR*)&addrClient, len);
}
closesocket(sockSrv);
return 0;
}