2013-09-05 3 views
3

У меня есть Android-телефон, на котором запущен client.py и server.py, запущенный на моем компьютере. IP-адрес компьютера установлен в 192.168.16.7 (работает ubuntu 13.04, это было в сетевом менеджере), а ip телефона моего телефона - 192.168.16.9. Я создал точку доступа Wi-Fi, используя мой телефон, и привязал к нему свой компьютер. Это мой server.py:Соединительная связь между Android и компьютером sl4a

import socket 
s=socket.socket() 
port=12345 
s.bind(("192.168.16.7",port)) 
s.listen(5) 
while True: 
    c,addr=s.accept() 
    print "got connection from ",addr 
    c.send('Thankyou for connecting') 
    c.close() 

И мой client.py является:

import socket 
port=12345 
s=socket.socket() 
s.connect(("192.168.16.7",port)) 
s.send("Hello world") 
s.close 

server.py работает на моем компьютере и client.py в моем телефоне. Но когда я пытаюсь запустить client.py в телефоне, он сообщает мне, что сеть недоступна. Как это исправить?

ответ

2

Исправлено. Проблема заключалась в статическом ip, который был установлен в телефоне. Хотя я установил статический ip телефона android на 192.168.16.9, это было не так. Чтобы проверить это, перейдите в sl4a-> view-> interpreter-> shell и введите «netcfg» и нажмите enter. Среди различных вещей, которые появляются, я обнаружил, что ip, написанный в соответствии с 'wlan0', был 192.168.43.1. Итак, я установил статический ip телефона в вышеуказанный ip, а затем изменил свой ip-код на ip-адрес на 192.168.43.8. Таким образом, сервер должен связываться с s.bind (('192.168.43.8', порт))

И клиент должен подключиться к тому же адресу.

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