2015-10-13 3 views
0

Я попытался подключить два компьютера с сокетом в Python, и я не знаю, почему он не работает. Файлы из Интернета и компилируются для меня, но без каких-либо результатов.Клиентский сокет сервера Python

server.py:

#!/usr/bin/python   

import socket    

s = socket.socket()  
host = '' 
port = 12345     
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() 

и client.py:

#!/usr/bin/python   

import socket    

s = socket.socket()   
host = # here I put the ip of the server's laptop 
port = 12345     

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

Что случилось?

+0

Это не будет работать, потому что в коде есть синтаксическая ошибка. Во всяком случае, откуда этот код? Я спрашиваю, потому что это для старого Python 2 и, вероятно, устарел. –

+0

http://www.tutorialspoint.com/python/python_networking.htm это отсюда. – IleNea

+0

Какие _results_ вы ожидаете? BTW, вы можете попробовать заменить 'send' на' sendall'. – ForceBru

ответ

1

Сначала вы должны запустить сервер. Затем запустите клиент в то же время с IP-адресом сервера (я использовал localhost, потому что он работал на одном компьютере, возможно, вам стоит попробовать, если это сработает). Код работал отлично для меня, каждый раз, когда я запускал клиент, сервер печатал сообщение. Если это не работает для вас, возможно, ваш брандмауэр не позволяет открывать порты.

Просто на будущее всегда указывайте любые сообщения об ошибках, которые вы видите.

Кстати, разве это не пример документации Python для сокетов?

+0

Я думаю, что это лучше написано как комментарий, чем ответ. ОП не сказал нам, что происходит. И это очень близко к простым примерам в документе. – tdelaney

+0

Я исправил все проблемы с отступом. Я использовал IP-адрес сервера (я работаю на двух компьютерах) и все еще не получаю никаких сообщений. Но все же я не уверен, что вы имели в виду под «запускать клиента одновременно с IP-адресом сервер ", как это, если я запускаю сервер в первую очередь? – IleNea

Смежные вопросы