我正在使用一臺由通過本地套接字進行通信的計算機上的服務器和客戶端組成的軟件。無法通過在Mac OS X上的套接字進行通信
服務器(用Java編寫)在端口9000上打開一個java.net.ServerSocket,並且客戶端(無論是Java還是Python)都必須連接到localhost:9000才能進行通信。
在Windows和Linux中,這工作正常。在Mac OS X(10.6,Java 1.6.0)上,即使沒有出現任何錯誤,也不會發生服務器和客戶端之間的通信。有什麼我需要不同的Mac代碼或有一個系統設置我需要改變,使其工作?
Python客戶端的代碼片段:
import socket
from re import sub
def main(server_address, port):
'''
Connect to the server.
'''
rclf = '\r\n'
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((server_address,port))
s.send("Version:1.0.0"+rclf)
你確定服務器實際綁定到端口9000嗎?例如,xdebug也希望使用端口9000.如果使用不同的端口,它會工作嗎? – 2010-07-16 20:14:22
這是完整的代碼示例嗎?主要方法在這裏沒有被調用。 – McJeff 2010-07-16 20:10:11
這只是程序內容的一部分,這個問題應該是一個評論,而不是一個答案。 – erjiang 2010-07-17 15:16:57