2017-04-02 2 views
0

Ich bin ein Neuling in der Socket-Programmierung, aber ich habe ein Problem, dass ich zwei Server auf meinem Port 3500 und 5000host.host gestartet habe.Jetzt möchte ich thatmy Client die Verbindung zum Port 3500 führen einige Operationen und Trennen Sie dann von 3500, während der Server nur Client ausgeführt wird, trennen Sie die Verbindung von 3500 und die Verbindung mit Port 5000 und Agian führt einige Operationen aus.Verbinden von zwei Server in Socket

ich den Code unten bin mit dieser aber immer Fehler zu tun: -

import socket 

s=socket.socket() 
s.connect(('127.0.0.1',3500)) 
print("connectd to 3500") 
print("hello friends") 
s.close() 
print("disconnect from 3500") 
s.connect(('127.0.0.1',5000)) 
print("connected to 5000") 
s.close() 

Aber es ist nicht in der Lage auf die zweite Verbindung dh Port 5000.It verbinden erfolgreich Port angeschlossen wird 3500 aber bei der Verbindung bis 5000 gibt es einen Fehler aus. Bitte jemand zu kurz aus meinem Fehler

Fehlern: -

File "C:\Users\Lal rishav\Desktop\HubPort\test.py", line 9, in <module> 
s.connect(('127.0.0.1',5000)) 
File "C:\Python27\lib\socket.py", line 228, in meth 
return getattr(self._sock,name)(*args) 
File "C:\Python27\lib\socket.py", line 174, in _dummy 
raise error(EBADF, 'Bad file descriptor') 
+0

sowohl der Server als correctly.The zweite Server läuft immer Fehler werfen wird es entweder Port 3500 oder Port 5000 –

Antwort

2

You cannot do any operations on a closed socket, statt einen neuen erstellen.

s.close() 
# the socket is closed, you can't use it anymore! 

# get another one: 
s2 = socket.socket() 
s2.connect(('127.0.0.1',5000)) 
s2.close() 
# now s2 is closed, you can't use it anymore! 
+0

Es thanx vielen Freund –

+0

@lalrishav gearbeitet, sind Sie herzlich willkommen! – ForceBru

Verwandte Themen