#include <stdio.h>
#include <winsock.h>
void main()
{
WSADATA wsaData;
WORD wVersonRequested;
int err;
wVersonRequested = MAKEWORD(2, 2); //SOCKET 版本信息
err = WSAStartup(wVersonRequested, &wsaData);
if(err != 0)
{
printf("WINDOWS SOCKET2.2初始化失败!\n");
return;
}
SOCKET sockSrv = socket(AF_INET, SOCK_STREAM, 0); //创建套接字
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(9999);
bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR)); //绑定本地IP和端口号
listen(sockSrv, 5); //监听
printf("=================监听中=================\n");
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while (1)//循环等待
{
char sendBuf[100];
SOCKET sockConn = accept(sockSrv, (SOCKADDR*)&addrClient, &len); //接受连接
sprintf(sendBuf, "[%s]:欢迎来到SOCKET测试平台!\n", inet_ntoa(addrClient.sin_addr));
send(sockConn, sendBuf, strlen(sendBuf)+1, 0); //发送信息
char recvBuf[100];
recv(sockConn, recvBuf, 100, 0); //接受信息
sprintf(recvBuf, "%s[%s]!\n", recvBuf, inet_ntoa(addrClient.sin_addr));
printf("%s", recvBuf);
closesocket(sockConn); //关闭连接套接字
}
}
- 1
- 2
- 3
前往页