Python socket 实现进程间通信
来源:互联网 发布:php工程师学习 编辑:程序博客网 时间:2024/05/17 01:28
基本用法
Python socket 使用方法如下
socket = socket.socket(family, type[, protocal])
- family代表地址家族,一般为AF_UNIX,AF_INET和AF_INET6。AF_UNIX用于同一台机器上的进程通信,AF_INET用于IPV4协议的TCP和UDP,AF_INET6用于IPV6协议;
- type代表套接字类型,一般为SOCK_STREAM,SOCK_DGRAM和SOCK_RAW。SOCK_STREAM为流式套接字,用于TCP通信,SOCK_DGRAM为数据报式套接字,用于UDP通信,SOCK_RAW为原始套接字,可以用于处理ICMP、IGMP等网络报文,这是普通套接字无法处理的;
- protocal代表协议编号,默认为0。
本地进程间通信实例
服务器端:
import socketimport osif __name__ == '__main__': server = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) if os.path.exists("/tmp/test.sock"): os.unlink("/tmp/test.sock") server.bind("/tmp/test.sock") server.listen(0) while True: connection, address = server.accept() connection.send("test: %s"% connection.recv(1024)) connection.close()
客户端:
import socketimport osif __name__ == '__main__': client = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) client.connect("/tmp/test.sock") instr = raw_input() client.send(instr) print client.recv(1024) client.close()
远程进程间通信实例
服务器端:
import socketimport osif __name__ == '__main__': server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) server.bind(("localhost", 8888)) server.listen(0) while True: connection, address = server.accept() connection.send("test: %s"% connection.recv(1024)) connection.close()
客户端:
import socketimport osif __name__ == '__main__': client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) client.connect(("localhost", 8888)) instr = raw_input() client.send(instr) print client.recv(1024) client.close()
参考文档
1. http://yangrong.blog.51cto.com/6945369/1339593
2. http://blog.csdn.net/yuxi2046/article/details/6996105
3. http://blog.csdn.net/sealyao/article/details/4704876
4. http://baiying.blog.51cto.com/1068039/1112997
0 0
- Python socket 实现进程间通信
- Socket 实现进程间通信
- socket实现进程间通信
- socket实现进程间通信
- socket实现进程间通信
- Socket实现进程间通信
- Socket实现进程间通信
- socket实现进程间通信
- python socket之进程间通信
- Python使用Socket 进行进程间通信
- python实现socket通信
- 进程间通信-socket
- 进程间通信---------socket
- socket进程间通信
- socket进程间通信
- Socket进程间通信
- 进程间通信---Socket
- 如何使用Python实现进程间通信
- 数组去重Array
- 手机自适应的网页效果
- License使用成本估算
- <Android>长按事件的连续处理
- 第三周项目四——考了语文数学的学生
- Python socket 实现进程间通信
- Cocos2d-x 中的帧动画
- java多线程详解
- 30岁程序员回顾人生、展望未来
- 牛顿法求根
- 对话机器学习大神Yoshua Bengio
- 实用libsvm入门笔记(A Practical Guide to Support Vector Classication)
- 杨氏矩阵查找
- Reading Notes for AngularJS -- Chapter1