网络编程中的socket()和accept()两个函数返回的都是套接字,那么它们具体的区别是什么呢?

以前只是简单的知道它们是有区别的,但是具体不是很清楚它们有什么区别。希望前辈们可以解答一下疑惑。

阅读 4.1k
2 个回答
新手上路,请多包涵

socket返回的是套接字对象,用于监听或连接。而accept返回的是一个元组,一个元素是套接字对象,用于数据收发,另一个元素是地址元组。

socket()是创建一个socket描述符,用于后续的bind和accpet调用(或者connect调用)。对于服务器程序,accept传入的参数是socket()创建出来的,返回的描述符表示一个可以跟对端客户端通信(read,write)用的描述符。accept每次返回正确的话,都会得到一个新的描述符。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题