Я работаю над некоторым программным обеспечением, которое состоит из сервера и клиентов на одной машине, которые обмениваются данными через локальные сокеты.Не удается связаться через сокет в Mac OS X
Сервер (написанный на Java) открывает java.net.ServerSocket на порте 9000, а клиентам (на 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. Doe это работает, если вы используете другой порт? –
Это полный образец кода? Основной метод здесь не называется. – McJeff
Это всего лишь фрагмент того, что в программе, и этот вопрос должен быть комментарием, а не ответом. – erjiang