#include <WINSOCK2.H>
void main()
{
WORD wVersionRequested
WSADATA wsaData
int err
wVersionRequested = MAKEWORD(2,2)
err = WSAStartup(wVersionRequested,&wsaData)
if (err != 0)
{
printf("WSAStartup error\n")
return
}
if (LOBYTE(wsaData.wVersion) != 2 || HIBYTE(wsaData.wVersion) != 2)
{
WSACleanup()
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(8080)
bind(sockSrv,(SOCKADDR*)&addrSrv,sizeof(SOCKADDR))
listen(sockSrv,5)
SOCKADDR_IN addrClient/悔悉/定如迟义客户的
int len = sizeof(SOCKADDR)
while(1)
{
SOCKET sockConn = accept(sockSrv,(SOCKADDR*)&addrClient,&len)
char sendbuf[50]
sprintf(sendbuf,"碧橡乎Welcome %s",inet_ntoa(addrClient.sin_addr))
send(sockConn,sendbuf,strlen(sendbuf)+1,0)
char recvbuf[50]
recv(sockConn,recvbuf,50,0)
printf("%s\n",recvbuf)
closesocket(sockConn)
}
}
只能你自己更换端口,别人占用了就只能改自己的!要不系统怎么知道这个端口上的数据应该发给哪个应用程序!?一般程序都会设置几个备用端口,但是如果你程序严格限定是2664的话就只或洞段能提示用户,让用户把衫誉占用2664端口的程序颤羡结束掉再来启动你的程序。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)