这个10
方法返回一个带有新套接字和地址的元组,但为什么我需要一个新套接字,如果我已经有一个,那么为什么不使用它?
accept()
ps:当我使用Java编程套接字时,我真的没有这种接受的东西,我只需要每个客户端一个套接字和每个服务器一个套接字,这是有道理的。 / p>
答案 0 :(得分:2)
服务器正在运行时,有一个侦听套接字处于活动状态,每个接受的连接都有一个新的连接套接字,该连接在关闭连接之前处于活动状态。
答案 1 :(得分:1)
好像你以前没有在Java中实现过TCP。
您提供的示例使用默认的AF_INET
和SOCK_STREAM
,默认情况下 是TCP:
socket.socket([family [,type [,proto]]]) 使用给定的地址系列,套接字类型和协议号创建一个新套接字。地址族应为AF_INET(默认值),AF_INET6或AF_UNIX。套接字类型应该是SOCK_STREAM(默认值),SOCK_DGRAM或者其他SOCK_常量之一。协议号通常为零,在这种情况下可以省略。
如果您实施了SOCK_DGRAM
这是UDP,那么您就不需要使用sock.accept()