Python socket(TCP阻塞模式)基础程式
来源:互联网 发布:淘宝图片轮播怎么做 编辑:程序博客网 时间:2024/05/29 17:19
前置知识:Python基础语法,socket库
tips:
1. 默认HOST_IP:127.0.0.1
2. 默认HOST_PORT:7676
参考代码:
1. 客户端程式
#!/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:print "[-]Socket Create Error"sys.exit(-1)else:print "[*]Socket Create Success"return sdef Conn(s,host,port):while 1:try:s.connect((host,port))except Exception as e:print "[-]Socket Connect Error"#traceback.print_exc()time.sleep(2)#sys.exit(-1)else:print "[*]Socket Connect Success"breakdef main():host = "127.0.0.1"port = 7676sC = SocketInit()Conn(sC, host, port)print sC.recv(1024)try:while 1:Str_buffer = raw_input(host+":"+str(port)+">")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()
2. 服务端程式
#!/usr/bin/env python# encoding: utf-8import socketimport osimport sysimport timereload(sys)sys.setdefaultencoding("utf-8")def SocketInit():try:s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)except Exception as e:print "[-]Socket Create Error"sys.exit(-1)else:print "[*]Socket Create Success"return sdef BindSocket(s,host,port):try:s.bind((host,port))except Exception as e:print "[-]Socket Bind Error"sys.exit(-1)else:print "[*]Socket Bind Success"def main():host = "127.0.0.1"port = 7676sS = SocketInit()BindSocket(sS, host, port)sS.listen(1)try:print "[+]Waiting for Connect ..."sC,addr = sS.accept()except Exception as e:print "[-]Server Accept Error"sys.exit(-1)sC.send("[*]Welcome to PeterZ-Server")print "[*]Connect to %s:%d" % (addr[0],addr[1])while 1:try:Str_buffer = sC.recv(1024)Send_buffer = "%s:%s(%s)>%s" % (addr[0],addr[1],time.ctime(),Str_buffer)sC.send(Send_buffer)print Send_bufferexcept KeyboardInterrupt:sS.close()sC.close()sys.exit(0)except Exception:print "[-]Client is down"sys.exit(0)if __name__ == '__main__':main()
阅读全文
0 0
- Python socket(TCP阻塞模式)基础程式
- TCP Socket编程(非阻塞模式)(C++)
- TCP Socket编程(非阻塞模式)(C++)
- TCP socket 非阻塞
- Windows网络编程之(一)Socket阻塞模式(TCP和UDP)
- Windows网络编程之(二)Socket通信非阻塞模式Select(TCP和UDP)
- Socket通信(TCP)非阻塞模式-select模型
- socket阻塞非阻塞模式
- TCP阻塞模式开发
- TCP.普通socket(阻塞/非阻塞)模型
- tcp socket阻塞与非阻塞
- socket异步通信-非阻塞模式(异步非阻塞)
- Python网络编程基础笔记-poll实现非阻塞socket
- socket 非阻塞模式
- Socket -- 阻塞模式
- Socket阻塞模式开发
- Python socket编程(阻塞) --基于SocketServer
- TCP非阻塞socket编程
- PAT 甲级 1097. Deduplication on a Linked List (25)
- 剑指offer之十七---包含min函数的栈
- hdu_4847_kmp_水
- HTML5-简易Canvas绘图板
- 口胡【NOIP2011DAY1】选择客栈
- Python socket(TCP阻塞模式)基础程式
- java算法
- LeetCode
- c++数据结构:线性表实现之双链表
- 51nod 1323 完美平方
- 最长不下降子序列nlogn算法详解
- cookie和session
- 关于过载控制
- UML学---类图