有一个很奇怪的问题想请大佬解决:有一个程序用pythonIDLE运行没问题,用windows CMD就不行。
我自学着用python+bottle写了一个聊天服务器和客户端,用的是http协议通信。
服务器代码大概是这样的:
from bottle import run,request,post,get
import PySimpleGUI as sg
from bottle import PasteServer
import json
Host="192.168.3.8"
Port=8080
@post('/login')
def index():
......
run(host=Host,port=Port,server=PasteServer)
其中Host="192.168.3.8"是自己的内网IP。
客户端代码:
IP="马赛克"(我的外网ip)
PORT="2048"
def Login(user_name,password):
try:
requests.post(url=IP+":"+PORT+"/login",data=json.dumps(login_info),timeout=2)
except:
....
同时在路由器中,我把外网ip:2048映射到了"192.168.3.8:8080"内网IP上。
然后就出现了如上问题:如果服务器的程序在pythonIDLE按F5运行,客户端就能够通过外网IP映射进来,与服务端联系;但是在windows下双击服务器程序文件运行,客户端就不能连接到服务器。请问这是什么原因?怎么解决?
不知道你这个问题是否已经解决, 如果还没有解决的话: