Python:socket编程,TCP/UDP
2014-03-03 22:21
501 查看
一、TCP客户端/服务端
1.1 tcpSrv.py
1.2 tcpCli.py
二、UDP客户端/服务端
2.1 udpSrv.py
2.2 udpCli.py
参考资料:
《Python核心编程》:第16章 网络编程。
1.1 tcpSrv.py
#!/usr/bin/env python from socket import * from time import ctime HOST = "" PORT = 6000 BUFSIZE = 1024 ADDR = (HOST, PORT) sockSrv = socket(AF_INET, SOCK_STREAM) sockSrv.bind(ADDR) sockSrv.listen(5) while True: sockCli,addr = sockSrv.accept() print "...connected from:", addr while True: data = sockCli.recv(BUFSIZE) if not data: break print data; sockCli.send("[%s] %s" % (ctime(), data)) sockCli.close() sockSrv.close()
1.2 tcpCli.py
[root@localhost python]# vim tcpCli.py #!/usr/bin/env python from socket import * HOST = "localhost" PORT = 6000 BUFSIZE = 1024 ADDR = (HOST, PORT) sockCli = socket(AF_INET, SOCK_STREAM) sockCli.connect(ADDR) while True: data = raw_input(">") if not data: break sockCli.send(data) data = sockCli.recv(BUFSIZE) if not data: break print data sockCli.close()
二、UDP客户端/服务端
2.1 udpSrv.py
#!/usr/bin/env python from socket import * from time import ctime HOST = "" PORT = 6000 BUFSIZE = 1024 ADDR = (HOST, PORT) sockSrv = socket(AF_INET, SOCK_DGRAM) sockSrv.bind(ADDR) while True: data, addr = sockSrv.recvfrom(BUFSIZE) print "receive %s from %s" % (data, addr) sockSrv.sendto("[%s] %s"%(ctime(),data), addr) sockSrv.close()
2.2 udpCli.py
#!/usr/bin/env python from socket import * HOST = "localhost" PORT = 6000 BUFSIZE = 1024 ADDR = (HOST, PORT) sockCli = socket(AF_INET, SOCK_DGRAM) while True: data = raw_input(">") if not data: break sockCli.sendto(data, ADDR) data, addr = sockCli.recvfrom(BUFSIZE) if not data: break print data sockCli.close()
参考资料:
《Python核心编程》:第16章 网络编程。
相关文章推荐
- 黑马程序员 Java基础学习笔记 网络编程
- Updating index central|http://repo1.maven.org/maven2
- 计算机网络实验--(socket的简单练习)
- [HTTP]_[C/C++]_[获取URL里的域名主体]
- [HTTP]_[C/C++]_[获取URL里的域名主体]
- Java面向对象——(网络编程)
- Linux网络服务_主从DNS配置示例_Redhat Enterprise 5.9
- 解决WCF服务使用net.tcp协议时出现“无法识别该URI前辍”的问题
- Tcp客服端并发访问服务器
- Android通过tcpdump抓包
- 基于Matlab的BP神经网络--源代码与工具箱实现
- 使用ASIHttpRequest时出现模拟器运行可以正常进行网络访问,而真机无法进行网络访问
- 大端存储和小端存储,网络字节序
- Windows Server 2008企业64位版防火墙添加端口的方法
- 网络字节序
- 关于socket的Accept阻塞模式的退出方法分析
- CGIC简明教程目录(CGI篇)
- 网络和计应12级电子商务学习
- 第四章 网络层
- Go语言linux下构造tcp数据包(不使用net包和Cgo)