Python socket编程(阻塞) --基于SocketServer
来源:互联网 发布:天涯明月刀有mac版吗 编辑:程序博客网 时间:2024/05/21 05:37
SocketServer模块是Python对socket常规通信的一个经过封装的模块,使用简单,基于面向对象的设计模式,但功能有限,可用于快速开发。
Tips:
默认端口:6767
默认本地ip:127.0.0.1
代码样例:
1. 服务端:
#!/usr/bin/env python# encoding: utf-8from SocketServer import (TCPServer as TCP,StreamRequestHandler as SRH)import sysimport osfrom time import ctimereload(sys)sys.setdefaultencoding("utf-8")conn_flag = False #连接提示标识,规定只显示一次class myWebServer(SRH):def handle(self):global conn_flagif conn_flag == False:print "[*]Connect from: ",self.client_addressconn_flag = Truebuf = self.rfile.readline()self.wfile.write("[%s] %s" % (ctime(),buf))print "[%s] %s" % (ctime(),buf)def main():HOST = "127.0.0.1"PORT = 6767Server = TCP((HOST,PORT), myWebServer)print "Waiting for the Connection..."try:Server.serve_forever()except KeyboardInterrupt:sys.exit(0)except Exception as e:print "[-]Client may be offLine"sys.exit(-1)if __name__ == '__main__':main()
2. 客户端
#!/usr/bin/env python# encoding: utf-8import socketimport osimport sysimport timeimport tracebackreload(sys)sys.setdefaultencoding("utf-8")def SocketInit():try:s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)except Exception as e:sys.exit(-1)return sdef Conn(s,host,port):while 1:try:s.connect((host,port))except Exception as e:time.sleep(2)else:breakdef main():host = "127.0.0.1"port = 6767try:while 1:sC = SocketInit()Conn(sC, host, port)Str_buffer = raw_input(host+":"+str(port)+">")Str_buffer += "\r\n"try:sC.send(Str_buffer)except Exception as e:print "[-]Can not send Data"else:recv_buffer = sC.recv(1024)if not recv_buffer:print "[-]Server is Off"else:print recv_bufferexcept KeyboardInterrupt:sC.close()sys.exit(0)if __name__ == '__main__':main()
阅读全文
0 0
- Python socket编程(阻塞) --基于SocketServer
- python Socket编程(二)----SocketServer
- python socket编程(二)--SocketServer模块
- Python socket模块编程 SocketServer框架
- python socket编程(2)-SocketServer 模块
- Python基础篇之Socket编程 SocketServer
- python socket,socketserver
- Python网络通信之黏包问题(五)基于SocketServer模块和socket模块
- python网络编程SocketServer
- python SocketServer 框架编程
- python网络编程socketserver
- Python 网络编程 SocketServer
- 基于MFC的socket编程(异步非阻塞通信)
- 基于MFC的socket编程(异步非阻塞通信)
- 基于MFC的socket编程(异步非阻塞通信)
- Python SocketServer非阻塞TCP通讯
- 基于NIO实现非阻塞Socket编程
- 基于NIO实现非阻塞Socket编程
- android apk 安装过程
- spring properties
- invalid comparison: java.util.Date and java.lang.String异常的原因
- Vuex怎么学(二)
- Android AIDL传递对象问题
- Python socket编程(阻塞) --基于SocketServer
- Wireshark学习笔记——如何快速抓取HTTP数据包
- Kafka集群安装--测试--关闭
- css-----居中
- java设计模式(精通系列)-基础uml概念
- Java 按字节获得字符串(中文)长度
- 社交系统ThinkSNS-plus(TS+)V1.0发布!
- QTcpServer使用信号槽单线程方式直接处理连进来的客户端(短连接或少数据处理)
- 关于Android Studio中点9图的编译错误问题