用python写服务器(书上的代码,运行不了,求解释)
2013-04-16 08:22
344 查看
用python写服务器(书上的代码,运行不了,求解释)
只看楼主
收藏
回复
stoneforestwhu
举人5
客户端程序:
from socket import *
HOST =' Stoneforest-PC '
PORT = 9999
BUFSIZ = 1024
ADDR = (HOST,PORT)
tcpCliSock = socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = raw_input('> ')
if not data:
break
tcpCliSock.send(data)
data = tcpCliSOck.recv(BUFSIZ)
if not data:
break
print data
tcpCliSock.close()
服务器端程序:
from socket import *from time import ctime
HOST = ''
PORT = 9999
BUFSIZ = 1024
ADDR = (HOST,PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)tcpSerSock.listen(5)
while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept()
print '...connected from:',addr
while True:
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
tcpCliSock.send('[%s] %s' %(ctime(),data))
tcpCliSock.close()
错误出现在客户端程序上
D:\Python27>python tsTclnt.pyTraceback (most recent call last): File "tsTclnt.py", line 9, in <module> tcpCliSock.connect(ADDR) File "D:\Python27\lib\socket.py", line 224, in meth return getattr(self._sock,name)(*args)socket.gaierror: [Errno 11004] getaddrinfo
failed
求解释
0
回复
1楼2012-04-03 21:10举报 |
i
itianda
send之后加个shutdown试试
回复 2楼2012-04-03 23:10举报 |
stoneforestwhu
举人5
引用 itianda (2楼)
send之后加个shutdown试试
我在tcpCliSock.send('[%s] %s' %(ctime(),data))加了
tcpCliSock.shutdown().客户端和服务器里都加了,可还是不行。另外端口号改为11901,是特地开启的。
回复 3楼2012-04-04 09:36举报 |
lifulinghan
贡士7
HOST =' Stoneforest-PC '
你确实你的机子是这个名字吗?建议你用127.0.0.1
回复 4楼2012-04-04 16:54举报 |
stoneforestwhu
举人5
引用 lifulinghan (4楼)
HOST =' Stoneforest-PC ' 你确实你的机子是这个名字吗?建议你用127.0.0.1
是主机的名字啊
C:\Users\Stoneforest>hostname
Stoneforest-PC
但是改为127.0.0.1之后就行了,多谢啊!!!
那如果我要和其他计算机(同连在WIFI的)通信的话,客户端的HOST该选什么?
回复 5楼2012-04-04 18:53举报 |
lifulinghan
贡士7
引用 stoneforestwhu (5楼)
是主机的名字啊 C:\Users\Stoneforest>hostname Stoneforest-PC 但是改为127.0.0.1之后就行了,多谢啊!!! 那如果我要和其他计算机(同连在WIFI的)通信的话,客户端的HOST该选什么?
选固定的ip地址,在win里你可以用命令ipconfig来查看。在linux里用ifconfig查看!
只看楼主
收藏
回复
stoneforestwhu
举人5
客户端程序:
from socket import *
HOST =' Stoneforest-PC '
PORT = 9999
BUFSIZ = 1024
ADDR = (HOST,PORT)
tcpCliSock = socket(AF_INET,SOCK_STREAM)
tcpCliSock.connect(ADDR)
while True:
data = raw_input('> ')
if not data:
break
tcpCliSock.send(data)
data = tcpCliSOck.recv(BUFSIZ)
if not data:
break
print data
tcpCliSock.close()
服务器端程序:
from socket import *from time import ctime
HOST = ''
PORT = 9999
BUFSIZ = 1024
ADDR = (HOST,PORT)
tcpSerSock = socket(AF_INET, SOCK_STREAM)
tcpSerSock.bind(ADDR)tcpSerSock.listen(5)
while True:
print 'waiting for connection...'
tcpCliSock, addr = tcpSerSock.accept()
print '...connected from:',addr
while True:
data = tcpCliSock.recv(BUFSIZ)
if not data:
break
tcpCliSock.send('[%s] %s' %(ctime(),data))
tcpCliSock.close()
错误出现在客户端程序上
D:\Python27>python tsTclnt.pyTraceback (most recent call last): File "tsTclnt.py", line 9, in <module> tcpCliSock.connect(ADDR) File "D:\Python27\lib\socket.py", line 224, in meth return getattr(self._sock,name)(*args)socket.gaierror: [Errno 11004] getaddrinfo
failed
求解释
0
回复
1楼2012-04-03 21:10举报 |
i
itianda
send之后加个shutdown试试
回复 2楼2012-04-03 23:10举报 |
stoneforestwhu
举人5
引用 itianda (2楼)
send之后加个shutdown试试
我在tcpCliSock.send('[%s] %s' %(ctime(),data))加了
tcpCliSock.shutdown().客户端和服务器里都加了,可还是不行。另外端口号改为11901,是特地开启的。
回复 3楼2012-04-04 09:36举报 |
lifulinghan
贡士7
HOST =' Stoneforest-PC '
你确实你的机子是这个名字吗?建议你用127.0.0.1
回复 4楼2012-04-04 16:54举报 |
stoneforestwhu
举人5
引用 lifulinghan (4楼)
HOST =' Stoneforest-PC ' 你确实你的机子是这个名字吗?建议你用127.0.0.1
是主机的名字啊
C:\Users\Stoneforest>hostname
Stoneforest-PC
但是改为127.0.0.1之后就行了,多谢啊!!!
那如果我要和其他计算机(同连在WIFI的)通信的话,客户端的HOST该选什么?
回复 5楼2012-04-04 18:53举报 |
lifulinghan
贡士7
引用 stoneforestwhu (5楼)
是主机的名字啊 C:\Users\Stoneforest>hostname Stoneforest-PC 但是改为127.0.0.1之后就行了,多谢啊!!! 那如果我要和其他计算机(同连在WIFI的)通信的话,客户端的HOST该选什么?
选固定的ip地址,在win里你可以用命令ipconfig来查看。在linux里用ifconfig查看!
相关文章推荐
- Ajax与Python服务器交互,在网页实现简单的Python3代码的运行
- Python 代码运行时间的3种计算方法
- 把python代码编译成exe文件,及脱离python环境运行py
- Python有些代码可以再IDE(pycharm)里运行,在黑框却出错
- 分析python服务器拒绝服务攻击代码
- 在notepad++中直接运行python代码
- 如何让Python web程序持续运行在后台服务器
- 在PyCharm中以root权限运行和调试python代码
- Python在web开发中简单服务器的搭建与运行问题
- 测量Python代码运行的时间
- hadoop平台运行python代码
- python机器学习及实战代码13-16,程序运行时出现提醒及修改
- 经测试可以勉强使用的netcat模拟器,python3代码,书上原来是python2的 做了一些小修改
- Python -- 让你的代码运行的更快的技巧
- appium在真机上运行IOS实例要注意的几点:包括python和java运行log 和部分关键代码
- 用Apache配置本地服务器,并用以运行html和Python文件
- Python在线运行代码助手
- 400多行Python代码实现了一个FTP服务器
- Python代码在Windows和Unix都可运行的方法
- python2.7web代码用python3.6运行时,浏览器发送请求报错TypeError: Object of type 'bytes' is not JSON serializable的解决办法