python 网络编程第四版
2016-01-03 10:11
651 查看
使用SocketServer 模块来完成服务端编程
1、服务端代码如下:
2、客户端的代码如下:
1、服务端代码如下:
#!/usr/bin/python #!coding:utf-8 import SocketServer as socketserver class ClientHandler(socketserver.BaseRequestHandler): def handle(self): print '[info] server has recive a connection :{0}'.format(self.client_address) while True: reciveData=self.request.recv(1024) if not reciveData:print '[info] server the client has logout';break print '[info] server has reviced this :{0}'.format(reciveData.decode()) reply='this is the reply information form server -->{0}'.format(reciveData.decode()) self.request.send(reply.encode()) if __name__=="__main__": hostIp='127.0.0.1' port=2048 server=socketserver.ThreadingTCPServer((hostIp,port),ClientHandler) server.serve_forever()
2、客户端的代码如下:
#!/usr/bin/python #!coding:utf-8 from socket import * import os,sys if __name__ == "__main__": #定义套接字 hostIp='127.0.0.1' port=2048 sock=socket(AF_INET,SOCK_STREAM) messages=['hello I am a client'] messages=messages+sys.argv[1:] sock.connect((hostIp,port)) print '[info] 已经连接到server ' for message in messages: sock.send(message.encode()) print sock.recv(1024).decode() sock.close()
相关文章推荐
- HTTP状态码(HTTP Status Code)详细解析
- VMware虚拟网络之VMnet0、VMnet1、VMnet8
- AFN网络框架2.x版—GET请求简单示例
- 【Bug笔记】The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path
- 关于JS中,怎么绑定this对象(来自网络收集整理)
- C++ http请求
- httpClient4.3x版本的简单使用
- HTTP Status 400 -
- (一)TCP编程-线程客户端与服务端的交流
- HttpApache下载数据
- HttpHttpApache两种上传方法
- 对称与非对称加密;SSL;HTTPS;AJP
- 网络基础
- 网络基础,
- 一个易用的轻量级的网络爬虫(Easy to use lightweight web crawler)
- QT读取网络图片
- 4.虚拟机ubuntu网络问题汇总
- 网络安全
- 个人笔记——Android网络技术
- 如何学习ios(摘自知乎https://www.zhihu.com/question/20016551)