accept()(谁能告诉我accept()函数返回一个新的套接字,所谓新套接字怎么理解)

本文目录
谁能告诉我accept()函数返回一个新的套接字,所谓新套接字怎么理解
谁能告诉我accept()函数返回一个新的套接字,所谓新套接字就是说这个是新产生的套接字,并不是你用来accept的那个监听的套接字。
accept()函数用于一个套接口接受一个连接。accept()是c语言中网络编程的重要的函数,windows系统在#include《winsock.h》 ,而linux系统在#include 《sys/socket.h》中。
int accept(int sockfd, struct sockaddr *addr, socklen_t *addrlen);
参数
sockfd:套接口描述字,该套接口在listen()后监听连接。
addr:(可选)指针,指向一缓冲区,其中接收为通讯层所知的连接实体的地址。Addr参数的实际格式由套接口创建时所产生的地址族确定。
addrlen:(可选)指针,输入参数,配合addr一起使用,指向存有addr地址长度的整型数。
实例:
#ifndef UNICODE
#defineUNICODE
#endif
#include 《winsock2.h》
#include 《stdio.h》
#include 《windows.h》
#pragmacomment(lib,"Ws2_32.lib")
int wmain(void)
{
WSADATAwsaData ;
intiResult=WSAStartup(MAKEWORD(2,2),&wsaData);
if(iResult!=NO_ERROR)
{
wprintf(L "WSAStartupfailedwitherror:%ld\n",iResult);
return 1 ;
}
SOCKETListenSocket ;
ListenSocket=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(ListenSocket==INVALID_SOCKET)
{
wprintf(L "socketfailedwitherror:%ld\n",WSAGetLastError());
WSACleanup();
return 1 ;
}
sockaddr_inservice ;
service.sin_family=AF_INET ;
service.sin_addr.s_addr=inet_addr("127.0.0.1");
service.sin_port=htons(27015);
if(bind(ListenSocket,
(SOCKADDR*)&service,sizeof(service))==SOCKET_ERROR)
{
wprintf(L"bindfailedwitherror:%ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1 ;
}
if(listen(ListenSocket,1)==SOCKET_ERROR)
{
wprintf(L"listenfailedwitherror:%ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1 ;
}
SOCKETAcceptSocket ;
wprintf(L "Waitingforclienttoconnect...\n");
AcceptSocket=accept(ListenSocket,NULL,NULL);
if(AcceptSocket==INVALID_SOCKET)
{
wprintf(L "accept failed with error:%ld\n",WSAGetLastError());
closesocket(ListenSocket);
WSACleanup();
return 1 ;
}
else
wprintf(L "Clientconnected.\n");
//Nolongerneedserversocket
closesocket(ListenSocket);
WSACleanup();
return 0 ;
}
accept怎么读
accept的读音:英。
释义:
vt. 接受;承认;承担;承兑;容纳。
vi. 承认;同意;承兑。
变形:过去式accepted、过去分词accepted、现在分词accepting、第三人称单数accepts。
accept造句。
1、I accepted his marriage proposal tonight.
今晚我接受了他的求婚。
2、The government accepted the suggestions of the citizen.
政府同意了这位公民提出的建议。
3、They accepted the confident young man as one of them.
他们欢迎这位自信的年轻人成为他们的一员。
4、Although we lost, we must accept this result.
虽然我们输了 我们必须接受这个结果。
5、When you go to make a passport, make sure you bring your original documents because they don’t accept copies.
如果你要办护照,请确保你要带好你的原件,因为他们不接受复印件。
accept和receive的区别是什么
1、意思不同
accept:接受;同意;承担(责任等)
receive:接到;收到;接待
2、用法不同
accept:具有明显的主观色彩,不仅客观上“接”,而且更主要的是主观上的“受”。accept某人的劝说或者建议时表示你情愿地按照他们的劝说或建议去做; accept令人不愉快的情形时表示你认识到这是不能改变的、必须接受的现实,即含不情愿和勉强之意。
receive:可用作及物动词,也可用作不及物动词。用作及物动词时,接名词或代词作宾语,还可接以as短语充当补足语的复合宾语。可用于被动结构。
3、来源不同
accept:14世纪中期进入英语,直接源自古法语的accepter,意为给什么拿什么;最初源自拉丁语的capere,意为心甘情愿地领受。
receive:1300年左右进入英语,直接源自拉丁语的recipere:re (回,返)+cipere (取,抓),意为重新抓,再次获得。

更多文章:
两张表格vlookup怎么用函数(vlookup函数如何两张表匹配)
2025年11月3日 23:45
available怎么记(availability和available怎么区分怎么用)
2025年10月30日 07:45
instragm(instragm华为手机怎么下载华为应用市场内找不到App,请求大家分享)
2026年3月14日 03:15
access集团待遇怎么样(杭州access集团待遇怎么样)
2025年12月26日 18:15
如何在数据上直接使用round函数(excel中ROUND函数怎么用)
2026年2月17日 20:15
从一段文字中提取日期(excel中的一段文字,我想提取对话中的日期,这个该怎么提取啊 举例:如图)
2026年2月17日 10:00
jdkwin7环境变量配置(Win7系统如何设置添加Java环境变量)
2026年2月17日 05:30
asp网站上传文件大小限制(asp网站的上传文件在本地测试正常,上传到空间后,却上传不了大文件,是空间限制了吗,怎么改谢谢)
2026年8月8日 07:00
三菱plc程序中k0 编写(三菱plc编程ko加线头怎么输入)
2026年1月17日 20:00
vuerouter只能用于vue吗(简单说说如何使用vue-router插件的方法)
2025年10月16日 22:15
closer歌曲简谱(求chainsmokers的closer简谱)
2025年9月24日 04:15












