我为什么以及如何在python中使用socket.accept()?

时间:2016-09-17 09:33:33

标签: java python sockets

这个10方法返回一个带有新套接字和地址的元组,但为什么我需要一个新套接字,如果我已经有一个,那么为什么不使用它?

accept()

ps:当我使用Java编程套接字时,我真的没有这种接受的东西,我只需要每个客户端一个套接字和每个服务器一个套接字,这是有道理的。 / p>

2 个答案:

答案 0 :(得分:2)

服务器正在运行时,有一个侦听套接字处于活动状态,每个接受的连接都有一个新的连接套接字,该连接在关闭连接之前处于活动状态。

答案 1 :(得分:1)

好像你以前没有在Java中实现过TCP。

您提供的示例使用默认的AF_INETSOCK_STREAM,默认情况下 是TCP:

  

socket.socket([family [,type [,proto]]])   使用给定的地址系列,套接字类型和协议号创建一个新套接字。地址族应为AF_INET(默认值),AF_INET6或AF_UNIX。套接字类型应该是SOCK_STREAM(默认值),SOCK_DGRAM或者其他SOCK_常量之一。协议号通常为零,在这种情况下可以省略。

如果您实施了SOCK_DGRAM这是UDP,那么您就不需要使用sock.accept()