Python3之socket网络编程
2017-08-21 15:33
417 查看
socket编程的两个循环:
链接循环
while 1: conn, addr = phone.accept() print(conn, addr) while 1: try: data = conn.recv(1024) if not data: break print('客户端信息:', data) conn.send(data.upper()) except Exception as e: break conn.close()
通信循环
while 1: try: data = conn.recv(1024) if not data: break print('客户端信息:', data) conn.send(data.upper()) except Exception as e: break
地址ip和端口port唯一标识一台上的一个软件,具体参考osi7层中的五层协议:
1. 应用层:自己定制的协议
2. 传输层:TCP/UDP协议,基于端口通信
3. 网络层:IP协议,基于IP地址通信
4. 数据链路层:以太网协议,基于mac地址通信
5. 物理层:发送电频信号,0101二进制数
异常处理的回顾:
对于不能被预知的异常才能被捕获,如果能被预知,且属于逻辑错误则可以用if判断处理,预防异常抛出
地址被占用问题:Address already in use
解决方案:
phone.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
相关文章推荐
- python学习——socket网络编程
- python网络编程之TCP通信实例和socketserver框架使用例子
- python:socket网络编程
- Python 网络编程socket说明
- [python&php 网络编程]socket的错误捕捉
- Python Socket 网络编程
- [python&php 网络编程]完整的socket服务端客户端
- Python -- 网络编程 -- Socket发送文件
- python基础学习-socket网络编程
- Python 网络编程, socket
- python网络编程基础(连载)03 socket-tcp
- Python--Socket网络编程
- Python网络编程之socketserver实现多并发
- [Python]网络编程--socket入门
- Python socket编程之两种网络连接方式
- python socket 网络编程selector用法 实用
- python socket网络编程步骤详解(socket套接字使用)
- Python Socket 网络编程
- 【python网络编程】利用select实现socket全双工异步通信
- Python网络编程之基于socket实现聊天机器人