我試圖使用an example作爲服務器,但客戶端只能發送一條消息,然後服務器會回覆一個數字。有幾個答案的一般Python套接字問題
這是代碼。
import socket
mySocket = socket.socket (socket.AF_INET, socket.SOCK_STREAM)
mySocket.bind (('', 2000))
mySocket.listen (1)
while True:
channel, details = mySocket.accept()
print 'We have opened a connection with', details
print channel.recv (100)
channel.send ('Green-eyed monster.')
channel.close()
問題:
爲什麼,每當客戶端發送消息到服務器,它與一些迴應?
如何通過互聯網使用套接字,而不是通過局域網?
有沒有辦法讓我的服務器使用套接字將數據從客戶端移動到客戶端 - 有點像IM程序。
我將最有可能的主機爲我在我的Mac的朋友該即時通訊服務器 - 將它的操作系統的鍵(Mac,PC)之間的工作
是否有使用這個任何好的庫? (我聽說HTTP很好)
這些代碼行是真的混淆。他們如何工作?
print channel.recv (100) channel.send ('Green-eyed monster.')
此外,當我關閉服務器(用紅色的X),並重新使用的端口,就這樣說:
Traceback (most recent call last): File "C:\Users\****\Desktop\Python\Sockets\First Server\server.py", line 3, in <module> mySocket.bind (('', 2003)) File "C:\Python27\lib\socket.py", line 224, in meth return getattr(self._sock,name)(*args) error: [Errno 10048] Only one usage of each socket address (protocol/network address/port) is normally permitted
最後,在那裏有一些很好的教程,我聽不懂這個更好?
對不起,問在同一職位這麼多的問題,但是當我發佈this和this人生氣了,跟我要張貼有關在不同的問題類似的問題。
Python版本:Python的2.7.3