2013-11-10 3 views
0

Я делаю питона упражнение с книгой «вниз головой питона» и сделать приложение для Android с помощью питона и SL4A мой кодurlopen ошибка [ERRNO 111] соединение отказался

import android 
import json 
import time 

from urllib import urlencode 
from urllib2 import urlopen 

hello_msg  = "Welcome to Coach Kelly's Timing App" 
list_title = 'Here is your list of athletes:' 
quit_msg  = "Quitting Coach Kelly's App." 
web_server = 'http://127.0.0.1:8080' 
get_names_cgi = '/cgi-bin/generate_name.py' 

def send_to_server(url, post_data=None): 
    if post_data: 
     page = urlopen(url, urlencode(post_data)) 
    else: 
     page = urlopen(url) 
    return(page.read().decode("utf8")) 

app = android.Android() 

def status_update(msg, how_long=2): 
    app.makeToast(msg) 
    time.sleep(how_long) 

status_update(hello_msg) 

athlete_names = sorted(json.loads(send_to_server(web_server + get_names_cgi))) 
app.dialogCreateAlert(list_title) 
app.dialogSetSingleChoiceItems(athlete_names) 
app.dialogSetPositiveButtonText('Select') 
app.dialogSetNegativeButtonText('Quit') 
app.dialogShow() 
resp = app.dialogGetResponse().result 

status_update(quit_msg) 

это мой код и результатом является enter image description here

В чем проблема ??? я не могу понять, в чем проблема ...

+0

ли вы запустить веб-сервер (на порту 8080) в системе? – falsetru

+0

yes Я запустил локальный хост 8080 –

+0

Вы запустили веб-сервер в android? Если да, запускаете ли вы какую-либо программу брандмауэра в android? – falsetru

ответ

1

Использование 10.0.2.2:8080

, потому что если вы работаете как сервер и эмулятор в ваш компьютер 127.0.0.1:(port) локальный IP будет обратитесь к эмулятору, то вам нужен другой локальный IP-адрес сервера, который будет автоматически 10.0.2.2

надежды я clearified это хорошо, рад, что я помог

+0

о! Хорошо!!!! Спасибо, Усама !!! ты мой герой! –

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