我是python的新手,经历了一本书,Core Python Applications第3版.这是第一个例子,我已经厌倦了它.这是最后有错误的代码.#1/usr/bin/env python
#!/usr/bin/env python
from socket import *
from time import ctime
HOST = ' '
PORT = 21567
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()
tcpSerSock.close()
Traceback (most recent call last):
File "tsTserv.py", line 12, in <module>
tcpSerSock.bind(ADDR)
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/socket.py", line 224, in meth
socket.gaierror: [Errno 8] nodename nor servname provided, or not known
Run Code Online (Sandbox Code Playgroud)
这是什么意思?
glg*_*lgl 38
这意味着您的主机名' '
无效(gai代表getaddrinfo()
).
正如NPE已经指出的那样,空字符串''
可能比空格更合适' '
.
NPE*_*NPE 16
该
HOST = ' '
Run Code Online (Sandbox Code Playgroud)
应该读
HOST = ''
Run Code Online (Sandbox Code Playgroud)
(即引号之间没有空格).
您收到错误的原因是它' '
不是有效的主机名.在这种情况下,''
具有特殊含义(它基本上意味着"所有本地地址").
归档时间: |
|
查看次数: |
72142 次 |
最近记录: |