python TCP/IP 服务器/客户端
来源:互联网 发布:琅琊榜骑兵进阶数据 编辑:程序博客网 时间:2024/06/05 00:49
具体的详解参考这篇文章
创建TCP服务器步骤伪代码:
ss = socket() #创建服务器套接字ss.bind() #套接字与地址绑定ss.listen() #监听连接inf_loop: #服务器循环 cs=ss.accept() #接受客户端连接 comm_loop: cs.recv()/cs.rend() #通信(接收/发送) cs.close() #关闭客户端套接字s.close() #关闭服务器套接字(可选,一般不选)
创建TCP客户端步骤伪代码:
cs = sockct() #创建客户端套接字cs.connect() #尝试连接服务器comm_loop: cs.send()/cs.recv() #对话服务器(发送/接收)cs.close() #关闭客户端套接字
Python源代码:
TCP服务器代码#!/home/lzg/python TCP_server pythonfrom socket import*from time import ctimehost=''port=21567bufsiz=1024ADDR=(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 '...connection from :',addr while True: data=tcpCliSock.recv(bufsiz) if not data: break tcpCliSock.send('[%s] %s' %(ctime(),data)) tcpCliSock.close()TCP客户端代码:#!/home/lzg/python python TCP-clientfrom socket import *host='localhost'port=21567bufsiz=1024ADDR=(host,port)tcpCliSock=socket(AF_INET,SOCK_STREAM)tcpCliSock.connect(ADDR)while True: data=raw_input('> ') if not data: break tcpCliSock.send(data) data=tcpCliSock.recv(bufsiz) if not data: break print datatcpCliSock.close()
新学到的python知识点:
1. raw_input()函数:
输入函数,函数参数会作为字符串在输出端直接输出并等待输入,输入的数据会以字符串的方式作为返回值返回。 延伸:input()函数时通过raw_input()函数实现,主要区别在于输入的时候input需要输入的字符串带双引号。
2. accept()函数的返回值竟然是复合的,而且可以这么写:
tcpCliSock ,addr = tcpSerSock.accept();
accept返回两个值,一个是套接字对象,一个是accept所接收的客户端的网络地址
本着学习Python的目的看的Python核心编程,虽然跨度大,但对自己还是蛮有信心的!
阅读全文
0 0
- python TCP/IP 服务器/客户端
- TCP/IP回声服务器客户端
- Python TCP服务器、客户端程序
- TCP/IP通信 客户端、服务器 实例
- TCP/IP通信 客户端、服务器 实例
- python服务器客户端实战tcp模式
- python 创建TCP服务器、客户端程序
- python socket简单tcp服务器客户端
- python socket 创建tcp服务器和客户端
- 【1】Python创建简单TCP服务器与TCP客户端
- python实现tcp服务器客户端(支持多客户端)
- TCP/IP协议(Socket)做服务器,HTTP协议做客户端
- TCP/IP协议(Socket)做服务器,HTTP协议做客户端
- MFC网络编程TCP/IP的服务器与客户端代码
- 基于TCP/IP的迭代回声服务器/客户端
- QT 之 TCP/IP 服务器和客户端(一)
- python网络编程之tcp服务器和客户端
- python socket之tcp服务器与客户端demo
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
- 《Using OpenRefine》翻译~3
- iOS解决方案JSPatch
- 【LeetCode题解】198. House Robber
- 关于CABasicAnimation转场后动画停止问题解决
- python TCP/IP 服务器/客户端
- Linux 常用命令
- tomcat服务器
- Android(5)Handler和Bundle
- leetCode---Valid Anagram
- 二叉树顺序存储和遍历
- Intellij IDEA 弹窗License activation 报 this license BIG3CLIK6F has been cancelled 错误的解决。
- Android Studio检测没有用到的资源
- Hashtable与ConcurrentHashMap区别