我知道这个应用程序将100%无法正常工作,但这只是为了测试,但我期待在我的浏览器上连接拒绝以外的其他一些错误,我甚至没有得到我的浏览器尝试连接的日志!所以它让我想到它的工作之前我需要知道为什么它被拒绝(我这样做是为了试验http!) 注意:我使用套接字而不是任何HTTP库,这个问题只存在于浏览器而不是我写的客户端应用程序,所以其他答案将无法帮助我 这是我的代码:
#!/usr/bin/python # This is server.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 1234 # Reserve a port for your service.
s.bind((host, port)) # Bind to the port
s.listen(5) # Now wait for client connection.
while True:
c, addr = s.accept() # Establish connection with client.
print 'Got connection from', addr
c.send(open("GPIOWEB/index.html").read())
print c.recv(1024)
c.close() # Close the connection
客户:
#!/usr/bin/python # This is client.py file
import socket # Import socket module
s = socket.socket() # Create a socket object
host = socket.gethostname() # Get local machine name
port = 1234 # Reserve a port for your service.
s.connect((host, port))
print s.recv(1024)
s.close # Close the socket when done
答案 0 :(得分:2)
你可以通过浏览器访问你的server.py程序,但你需要告诉浏览器(这样它可以告诉操作系统)你希望如何到达那里
当你这样做时
host = socket.gethostname() # Get local machine name
s.bind((host, 1234)) # Bind to the port
您已绑定到特定界面。
在其中添加print(host)
以查看您要绑定的界面。然后,在您的浏览器中输入<host>:1234
作为地址 - 其中<host>
是打印的内容。
您的浏览器将显示GPIOWEB/index.html
的内容,您的server.py程序将显示如下内容:
Got connection from ('127.0.0.1', 63358) GET / HTTP/1.1 Host: localhost:1234 Connection: keep-alive Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/41.0.2272.89 Safari/537.36 Accept-Encoding: gzip, deflate, sdch Accept-Language: en-US,en;q=0.8
或者,使用
绑定到所有可用的接口port = 1234 # Reserve a port for your service.
s.bind(('', port)) # Bind to the port
(注意用于主持人的''
)
现在,您应该能够通过各种地址与程序通信,例如:
localhost:1234
127.0.0.1:1234
<Your LAN IP>:1234
其中一些可能取决于您的防火墙设置,如果您未获得预期的结果,则可以考虑暂时禁用它,然后相应地更新其配置。
答案 1 :(得分:0)
您在应用中实施了协议:
on_connect SERVER send index.html to CLIENT
您的客户说出此协议。浏览器没有。 使用嗅探器(wireshark,tcpdump等...)来查看服务器 - 客户端流量。