В Python 2.7 и 3.6 мы получаем объект сокета как:
<socket._socketobject object at 0x0000000008C5FA08>
, а в Python 3.6 мы получаем объект сокета как:
<socket.socket fd=1616, family=AddressFamily.AF_INET, type=SocketKind.SOCK_DGRAM, proto=0, laddr=('169.254.126.94', 6970)>
В Python 2.7 наш кодработает отлично, но с python 3.6 он не работает, и кажется, что он застревает в вызове recvfrom ().
Программа просто вечно работает в вызове recvfrom ().
Вот код:
def receive_socket(self, receive_socket, server_address):
receive_server_addr = receive_socket.getsockname()
while True:
try:
print("Started--------------")
data, server = receive_socket.recvfrom(65565)
print("Receiving data-------------", data)
Примечание: этот код отлично работает в python 2.7.