accept函数的用法 accept的用法

摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的。它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户程序就可以与自己的客户进行点到点的通信了。

accept函数等待并接受客户请求:

#include<sys/socket.h>
accept函数的用法 accept的用法
int accept(intsockfd, structsockaddr* addr,socklen_t* len)
返回:非负描述字——成功, -1——失败

accept默认会阻塞进程,直到有一个客户连接建立后返回,它返回的是一个新可用的套接字,这个套接字是连接套接字。此时我们需要区分两种套接字,一种套接字正如accept的参数sockfd,它是监听套接字,在调用listen函数之后,一个套接字会从主动连接的套接字变身为一个 监听套接字;而accept返回是一个连接套接字,它代表着一个网络已经存在的点点连接。自然要问的是:为什么要有两种套接字?原因很简单,如果使用一个描述字的话,那么它的功能太多,使得使用很不直观,同时在内核确实产生了一个这样的新的描述字。

参数sockfd
参数sockfd就是上面解释中的监听套接字,这个套接字用来监听一个端口,当有一个客户与服务器连接时,它使用这个一个端口号,而此时这个端口号正与这个套接字关联。当然客户不知道套接字这些细节,它只知道一个地址和一个端口号。
参数addr
这是一个结果参数,它用来接受一个返回值,这返回值指定客户端的地址,当然这个地址是通过某个地址结构来描述的,用户应该知道这一个什么样的地址结构。如果对客户的地址不感兴趣,那么可以把这个值设置为NULL。
参数len
如同大家所认为的,它也是结果的参数,用来接受上述addr的结构的大小的,它指明addr结构所占有的字节个数。同样的,它也可以被设置为NULL。

如果accept成功返回,则服务器与客户已经正确建立连接了,此时服务器通过accept返回的套接字来完成与客户的通信。

  

爱华网本文地址 » http://www.aihuau.com/a/25101015/284082.html

更多阅读

SetTimer函数的用法 c settimer用法

SetTimer函数的用法VS2008Ontimer函数在CDialogBar类中不能响应解决方案:如果是手工加的wm_timer消息,那就要检查一下BEGIN_MESSAGE_MAP(...Dlg, CDialog),END_MESSAGE_MAP()ON_WM_TIMER()宏之间有没有ON_WM_TIMER()了,没有的要添

vlookup函数的操作实例 lookup函数的使用方法

vlookup函数的操作实例——简介vlookup函数是excel中非常重要的查找引用函数,掌握它可以减少很多工作量,下面本文就通过一个简单的例子演示函数用法。vlookup函数的操作实例——工具/原料office excelvlookup函数的操作实例——语法

if函数的使用方法 sum函数的使用方法

if函数的使用方法——简介在excel中if函数是最经常用到的逻辑函数,通过它可以减少很多繁琐复杂的工作,判断单元格内容满足什么条件则对应返回相应的值。下面将解释if函数的语法以及通过if函数的操作实例来告知大家该函数的用法。if函

if函数怎么用 sumif函数的使用方法

if函数怎么用——简介Excel中的IF函数用于实现多分支选择结构的实现,是结构化编辑中与顺序、循环并列的一种结构。IF函数的实现方法灵活多样,但是无论其表现多么灵活,只要掌握了其本质用法,其它的扩展用法将会变得简单易行。下面小编将

sumif函数的使用方法及实例 函数sumif怎样用

sumif函数的使用方法及实例——简介在excel中重要的条件求和函数之一是sumif函数,相对简单又极具实用性,下面就对该条件求和公式的用法进行解释,并辅以实例近一半教大脚理解该函数的具体用法。sumif函数的使用方法及实例——工具/原料

声明:《accept函数的用法 accept的用法》为网友青衣沽酒醉风尘分享!如侵犯到您的合法权益请联系我们删除