Dio*_*lor 2 python socketserver python-2.7
我想在我的mac上创建一个SocketServer.
然而,这似乎是包的一些问题.当我尝试这里找到的这个采样代码时,会引发属性错误.
import SocketServer
class MyTCPHandler(SocketServer.BaseRequestHandler):
"""
The RequestHandler class for our server.
It is instantiated once per connection to the server, and must
override the handle() method to implement communication to the
client.
"""
def handle(self):
# self.request is the TCP socket connected to the client
self.data = self.request.recv(1024).strip()
print "{} wrote:".format(self.client_address[0])
print self.data
# just send back the same data, but upper-cased
self.request.sendall(self.data.upper())
if __name__ == "__main__":
HOST, PORT = "localhost", 9999
# Create the server, binding to localhost on port 9999
server = SocketServer.TCPServer((HOST, PORT), MyTCPHandler)
# Activate the server; this will keep running until you
# interrupt the program with Ctrl-C
server.serve_forever()
Run Code Online (Sandbox Code Playgroud)
错误 :
Traceback (most recent call last):
File "/Users/ddl449/Projects/visualization/SocketServer.py", line 1, in <module>
import SocketServer
File "/Users/ddl449/Projects/visualization/SocketServer.py", line 3, in <module>
class MyTCPHandler(SocketServer.BaseRequestHandler):
AttributeError: 'module' object has no attribute 'BaseRequestHandler'
Run Code Online (Sandbox Code Playgroud)
我不知道是否必须这样做我在Mac上运行.我的python版本是:
2.7.5 (v2.7.5:ab05e7dd2788, May 13 2013, 13:18:45)
[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]
Run Code Online (Sandbox Code Playgroud)
好像你SocketServer.py在python路径中有某个地方.
使用以下命令检查:
python -c "import SocketServer; print(SocketServer.__file__)"
Run Code Online (Sandbox Code Playgroud)
重命名该文件将解决您的问题.
UPDATE
重命名文件/Users/ddl449/Projects/visualization/SocketServer.py.如果有/Users/ddl449/Projects/visualization/SocketServer.pyc,请删除该文件.
| 归档时间: |
|
| 查看次数: |
3068 次 |
| 最近记录: |