Python套接字对象
考虑下面的例子Python套接字对象,python,sockets,Python,Sockets,考虑下面的例子 from socket import * msg = input("Please enter your name ") msg = msg.encode() myHostIp = '' myHostPort = 54040 socket_obj = socket(AF_INET, SOCK_STREAM) socket_obj.bind((myHostIp,myHostPort)) socket_obj.listen(5) while True: connectio
from socket import *
msg = input("Please enter your name ")
msg = msg.encode()
myHostIp = ''
myHostPort = 54040
socket_obj = socket(AF_INET, SOCK_STREAM)
socket_obj.bind((myHostIp,myHostPort))
socket_obj.listen(5)
while True:
connection,address = socket_obj.accept()
print("Client : ",address)
connection.send(msg)
print(socket.getsockname(socket_obj))
print(socket.getsockname(connection))
print(socket.getpeername(socket_obj))
print(socket.getpeername(connection))
while True:
data = connection.recv(1024)
print("This was received from ", data)
connection.close()
在这个简单的程序中,print(socket.getsockname(socket_obj))行的输出是(0.0.0.0)
和的print(socket.getpeername(socket\u obj))
wassocket\u obj未连接。
我的问题是:一旦执行了connection,address=socket\u obj.accept()
,来自socket\u obj
的控制是否转移到connection
?您调用的套接字.listen()
是一个服务器套接字;您所能做的就是调用.accept()
生成一个客户端套接字,它处理所有实际通信。一个服务器套接字在其生存期内可以生成任意数量的客户端套接字