好房网

网站首页 滚动新闻 > 正文

accept方法返回值类型(accept函数第二参数)

2022-07-22 13:10:52 滚动新闻 来源:
导读 想必现在有很多小伙伴对于accept函数第二参数方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于accept函数第二参数方面

想必现在有很多小伙伴对于accept函数第二参数方面的知识都比较想要了解,那么今天小好小编就为大家收集了一些关于accept函数第二参数方面的知识分享给大家,希望大家会喜欢哦。

1、accept()函数的第二个参数是请求连接的地址,所以等待连接队列中抽取的请求连接的电脑的地址。初始化为null即可。

2、函数原型:int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);

3、参数

4、版权归万芝士回答网站特共结或原作者生所有

5、sockfd:套接字描述符,该套接口在listen()后监听连接。

6、addr:(可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。Addr参数的实际格式由套接口创建时所产生的地址族确定。

7、大成里由相此员长论区,议声律非青习族置调满。

8、addrlen:(可选)指针,输入参数,配合addr一起使用,指向存有addr地址长度的整型数。

9、例子:

10、于能体果见根保己安信,深难。

11、#ifndef UNICODE

12、#defineUNICODE

13、#endif

14、#include

15、#include

16、#include

17、//NeedtolinkwithWs2_32.lib

18、#pragmacomment(lib,"Ws2_32.lib")

19、int wmain(void)

20、{

21、WSADATAwsaData ;

22、intiResult=WSAStartup(MAKEWORD(2,2),&wsaData);

23、if(iResult!=NO_ERROR)

24、{

25、wprintf(L "WSAStartupfailedwitherror:%ld

26、",iResult);

27、return 1 ;

28、}

29、SOCKETListenSocket ;

30、ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

31、if(ListenSocket==INVALID_SOCKET)

32、{

33、wprintf(L "socketfailedwitherror:%ld

34、",WSAGetLastError());

35、WSACleanup();

36、return 1 ;

37、}

38、sockaddr_inservice ;

39、service.sin_family=AF_INET ;

40、service.sin_addr.s_addr=inet_addr("127.0.0.1");

41、service.sin_port=htons(27015);

42、if(bind(ListenSocket,

43、(SOCKADDR*)&service,sizeof(service))==SOCKET_ERROR)

44、{

45、wprintf(L"bindfailedwitherror:%ld

46、",WSAGetLastError());

47、closesocket(ListenSocket);

48、WSACleanup();

49、return 1 ;

50、}

51、if(listen(ListenSocket,1)==SOCKET_ERROR)

52、{

53、wprintf(L"listenfailedwitherror:%ld

54、",WSAGetLastError());

55、closesocket(ListenSocket);

56、WSACleanup();

57、return 1 ;

58、}

59、SOCKETAcceptSocket ;

60、wprintf(L "Waitingforclienttoconnect...

61、");

62、//Accepttheconnection.

63、AcceptSocket=accept(ListenSocket,NULL,NULL);

64、if(AcceptSocket==INVALID_SOCKET)

65、{

66、wprintf(L "acceptfailedwitherror:%ld

67、",WSAGetLastError());

68、closesocket(ListenSocket);

69、WSACleanup();

70、return 1 ;

71、}

72、else

73、wprintf(L "Clientconnected.

74、");

75、closesocket(ListenSocket);

76、WSACleanup();

77、return 0 ;

78、}

本文到此结束,希望对大家有所帮助。


版权说明: 本文由用户上传,如有侵权请联系删除!


标签: