2013-02-02 21 views
3

我學會了Python中的套接字。當我試圖在一臺計算機上對套接字腳本進行編程時,它能夠工作,但是當我試圖用兩臺不同的計算機編寫套接字腳本並打開帶有連接的套接字時,它不起作用。errno 10061在python中,我不知道怎麼辦

一臺計算機(服務器):

import socket 

s = socket.socket() 

host = socket.gethostname() 
port = 1234 
s.bind((host, port)) 

s.listen(5) 
while True: 
    c, addr = s.accept() 
    print 'Got connection from', addr 
    c.send('Thank you for connecting') 
    c.close() 

第二臺計算機(客戶端):

import socket 

s = socket.socket() 

host = raw_input("The ip you want to connect to: ") 
port = 1234 

s.connect((host, port)) 
print s.recv(1024) 

錯誤:

socket.error: [Errno 10061] 

什麼是腳本的問題?爲什麼它不起作用?

+1

錯誤10061(WSAECONNREFUSED):*「連接被拒絕。由於目標計算機主動拒絕連接,因此無法建立連接。這通常是由於嘗試連接到外部主機上處於非活動狀態的服務而導致的,即沒有運行服務器應用程序的服務。「*([source](http://msdn.microsoft.com/zh-cn/library /windows/desktop/ms740668%28v=vs.85%29.aspx)) – poke

+0

@ Love-Python查看我更新的答案... – ATOzTOA

回答

4

errno的10061:

這意味着你試圖連接到不是等着一個服務器。

  • 確保您已打開端口號。
  • 嘗試查殺所有python進程並再次啓動服務器。

更新

而不是

host = socket.gethostname() 

使用

host = "" 
+0

我檢查過了,我確定端口號是打開的,所有的python進程都被殺死了,但它仍然不起作用,我需要做什麼?感謝您的幫助。 –

+0

@LovePython你嘗試過將主機名設置爲空白嗎? – ATOzTOA

相關問題