2017-10-29 4 views
0

Wie Sie in den Bildern unten sehen können, kann ich nichts von Client und Server warten warten! Ich habe es versucht, ohne Firewall und kein Ergebnis .. :(Warum Python nichts mit Sockets sendet? (Basis Sockets)

cmd info Kunde

import socket 

sock1 = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 

sock1.sendto("HOLA",('192.168.0.159',25585)) 

sock1.close() 
del sock1 

Server

import socket 

sock = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 


sock.bind(('0.0.0.0',25585)) 

while True: 
    data , c = sock.recvfrom(1024); 
    print data 

sock.close() 
del sock 
+0

ok Sieht für mich, ist die IPv4-Adresse oben richtig? Haben Sie versucht, localhost (oder 127.0.0.1) anstelle der ipv4-Adresse zu verwenden? – MarkR

+0

haben Sie das Server-Skript vor dem Client-Skript ausgeführt? –

+0

@SPSP ja ich habe und funktioniert nicht :( –

Antwort

1

Ihr Client und dem Server sind nicht verbunden. Versuchen Sie, diese :

Client:

import socket 

sock1 = socket.socket(socket.AF_INET,socket.SOCK_DGRAM) 
sock1.connect(('192.168.0.159',25585)) 
sock1.sendto("HOLA",('192.168.0.159',25585)) 
sock1.close() 
del sock1 

Ihr Server Code ist gut

Ansonsten UDP-Sockets sind meist für Pakete bekannt dropping

+1

Ich denke nicht, dass connect in diesem Fall notwendig ist, bindet sendto() den Socket nicht automatisch an eine geeignete Adresse, wenn sie nicht gebunden ist? – MarkR

+0

@SPSP es funktioniert nicht mit Dieser Code ... ich fürchte, es wird ein os Bug sein ... –

+0

@ GinésDíaz Haben Sie versucht, diesen Code localy? Ich meine, führen Sie diese Skripte auf dem gleichen Betriebssystem, verbinden Sie den Client mit dem "Localhost" ip? –