用C语言在Windows平台上写一个占用tcp8080端口的代码。

用C语言在Windows平台上写一个占用tcp8080端口的代码。,第1张

#include <stdio.h>

#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端口的程序颤羡结束掉再来启动你的程序。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12325662.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-24
下一篇 2023-05-24

发表评论

登录后才能评论

评论列表(0条)

保存