[python&php 网络编程]重用socket地址
来源:互联网 发布:数据库虚拟化 编辑:程序博客网 时间:2024/05/08 23:13
1.python写法
import socketdef reuse_socket_addr(): sock = socket.socket( socket.AF_INET, socket.SOCK_STREAM ) # Get the old state of the SO_REUSEADDR option old_state = sock.getsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR ) print "Old sock state: %s" %old_state # Enable the SO_REUSEADDR option sock.setsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR, 1 ) new_state = sock.getsockopt( socket.SOL_SOCKET, socket.SO_REUSEADDR ) print "New sock state: %s" %new_state local_port = 8282 srv = socket.socket(socket.AF_INET, socket.SOCK_STREAM) srv.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) srv.bind( ('', local_port) ) srv.listen(1) print ("Listening on port: %s " %local_port) while True: try: connection, addr = srv.accept() print 'Connected by %s:%s' % (addr[0], addr[1]) except KeyboardInterrupt: break except socket.error, msg: print '%s' % (msg,)if __name__ == '__main__': reuse_socket_addr()
2.php写法
<?phpfunction reuse_socket_addr(){ $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); // Get the old state of the SO_REUSEADDR option $old_state = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR); printf("Old sock state: %s\n", $old_state); // Enable the SO_REUSEADDR option socket_set_option($socket,SOL_SOCKET,SO_REUSEADDR, 1); $new_state = socket_get_option($socket, SOL_SOCKET, SO_REUSEADDR); printf("New sock state: %s\n", $new_state); $local_port = 8282; $srv = socket_create(AF_INET, SOCK_STREAM, SOL_TCP); socket_set_option($srv, SOL_SOCKET, SO_REUSEADDR, 1); socket_bind($srv, '127.0.0.1', $local_port); socket_listen($srv); printf("Listening on port: %s ", $local_port); while(true){ $msg = socket_accept($srv); if($msg !== false){ $buf = socket_read($srv, MAXLINE); }else{ $error = socket_strerror(socket_last_error($srv)); printf("%s", $error); } }}reuse_socket_addr();
转载请标注原文地址:http://blog.csdn.net/ddjohn/article/details/49996669
0 0
- [python&php 网络编程]重用socket地址
- [python&php 网络编程]格式化IPv4地址
- [Python] 网络编程(Socket)
- Python 网络编程, socket
- Python网络编程(Socket)
- Python Socket 网络编程
- python-socket网络编程
- Python网络编程(Socket)
- Python网络编程(Socket)
- Python网络编程(Socket)
- Python 网络编程 Socket
- python socket网络编程
- python网络socket编程
- Python Socket 网络编程
- python 网络编程socket
- Python Socket 网络编程
- Python Socket 网络编程
- [python&php 网络编程]设定并获取socket超时时间
- java.lang.NoSuchMethodError: org.json.JSONArray.remove
- select option隐藏(兼容IE,firefox)
- iOS 【UIKit-UIPickerView】
- 详解js闭包
- 第十三周--项目--验证算法(1)
- [python&php 网络编程]重用socket地址
- 面向对象的三个特征:继承、封装、多态
- 第十二周 项目1 图基本算法库
- 第八周项目4
- hdu5569 dp
- iOS项目开发实战(Swift)—初探TableView
- mac studio 快捷键
- MapReduce任务运行到running job卡住
- html 页面,兼容1px的问题