代码拉取完成,页面将自动刷新
同步操作将从 youquc/windows-socket 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include<stdio.h>
#include<stdlib.h>
#include<winsock2.h>
#include<windows.h>
int main() {
//ʼWSA
WORD sockVersion = MAKEWORD(2,2);
WSADATA wsaData;
if(WSAStartup(sockVersion, &wsaData) != 0) {
return 0;
}
//
SOCKET slisten = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(slisten == INVALID_SOCKET) {
printf("socket error");
return 0;
}
struct sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(8888);
sin.sin_addr.S_un.S_addr = INADDR_ANY;
if(bind(slisten, (LPSOCKADDR)&sin,sizeof(sin)) == SOCKET_ERROR) {
printf("bind error");
}
if(listen(slisten, 5) == SOCKET_ERROR) {
printf("listen error");
return 0;
}
SOCKET sClient;
struct sockaddr_in remoteAddr;
int nAddrlen = sizeof(remoteAddr);
printf("ȴ...\n");
sClient = accept(slisten, (SOCKADDR *)&remoteAddr, &nAddrlen);
while(1) {
char revData[255];
if(sClient == INVALID_SOCKET) {
printf("accept error");
continue;
}
// printf("ܵ:%s \n", inet_ntoa(remoteAddr.sin_addr));
int ret = recv(sClient, revData, 255, 0);
if(ret > 0) {
revData[ret] = 0x00;
printf("recv:%s\n",revData);
}
char *sendData = "send ok!(from server)\n";
send(sClient, sendData, strlen(sendData), 0);
}
closesocket(sClient);
closesocket(slisten);
WSACleanup();
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。