Socket
2018-06-18 02:48:13来源:未知 阅读 ()
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。
socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,对于文件用【打开】【读写】【关闭】模式来操作。socket就是该模式的一个实现,socket即是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)
socket和file的区别:
- file模块是针对某个指定文件进行【打开】【读写】【关闭】
- socket模块是针对 服务器端 和 客户端Socket 进行【打开】【读写】【关闭】
1 # coding:utf-8 2 __author__="dzh" 3 import socket 4 #服务端地址 5 ip=("0.0.0.0",9998) 6 #生成socket实例 7 sk=socket.socket() 8 #实例绑定地址 9 sk.bind(ip) 10 #设置监听数,即设置最多能有多少个客户端连接进来 11 sk.listen(5) 12 while True: 13 #开始监听,当没有客户端连接进来,一直阻塞在这。accept()返回两个值:conn:接到客户端的连接请求产生的一个专门响应该客户端的实例;addr:客户端地址[host,port] 14 conn,addr=sk.accept() 15 while True: 16 #若客户端若断开,会导致服务端报错(ConnectionResetErro),所以在这用异常处理机制 17 try: 18 #接受客户端的消息 19 client_message=conn.recv(1024) 20 except ConnectionResetError: 21 break 22 else: 23 print(client_message.decode()) 24 #响应客户端 25 server_response=input("请输入响应信息:") 26 conn.send(bytes("server:%s"%server_response,encoding='utf-8'))
1 import socket 2 ip=("localhost",9998) 3 sk=socket.socket() 4 #通过服务端地址连接到服务端 5 sk.connect(ip) 6 while True: 7 cmd=input("请输:") 8 #如果服务端接收不到数据,会一直阻塞 9 if not cmd: 10 pass 11 else: 12 sk.send(bytes('client:%s'%cmd,encoding="utf-8")) 13 b=sk.recv(1024) 14 print(b.decode())
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- 网络编程之udp_socket 2019-07-24
- Python socket编程 (2)--实现文件验证登入 2019-07-24
- python 之网络编程(基于TCP协议Socket通信的粘包问题及解决 2019-07-24
- 一个基于tcp的socket简单对话小例子 2019-07-24
- python+socket实现网络信息交互及文件传输 2019-07-24
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash