Python网络编程相关知识

199 阅读2分钟

这是我参与8月更文挑战的第6天,活动详情查看:8月更文挑战” IPv4 点分十进制

ipconfig windows查看网络配置信息 ifconfig linux ios 查看网络配置信息 1 建立网络连接前要先判断是否可以连接 使用ping命令 ping 192.168.13.25

2 还要有端口号 0-1023 知名程序占有 动态端口号1024-65535最好使用8000后的(以免冲突)

3 面向连接TCP可靠连接/UDP不可靠连接 区别在是否校验 UDP快网络不稳定会丢数据 TCP 面向连接 可靠 采用发送应答 超时重传 错误检验 流量控制和堵塞管理 都是为了数据传输的可靠性 字节流 转换为字节

4 socket 套接字 进程间通讯的一个工具

5 IP 端口 TCP socket编程

B/S b浏览器s 服务器 C/S =>client service客户端服务器端

TCP客户端开发=>五步走 1、创建套接字对象(IPV4/TCP协议) 2、和服务器端套接字建立连接(参数要求是一个元组类型的数据) 3、发送数据到服务器端(要求数据必须是字节流类型) 4、接收从服务器端返回的数据recv(字节大小) 5、关闭套接字对象

TCP服务器端开发=>七步走 import socket

1、创建套接字对象

tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

参数1: 表示当前套接字

参数2: 设置端口号复用选项

参数3: 设置端口号复用选项对应的值

tcp_server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, True)

2、绑定IP和端口(注意:参数比较特殊,要求是一个元组类型的数据)

绑定的IP地址可以省略不写,代表绑定本机

tcp_server_socket.bind(('', 8080))

3、开始监听

tcp_server_socket.listen(128)

4、准备接收客户端连接请求,产生新的套接字

conn_socket,ip_port = tcp_server_socket.accept()

5、接收客户端数据

print('客户端IP+端口:', ip_port) recv_data = conn_socket.recv(1024).decode('gbk') print('客户端发送过来的数据:', recv_data)

6、处理并返回数据给客户端

conn_socket.send('信息已收到, over, over!'.encode('gbk'))

7、关闭套接字对象

conn_socket.close() tcp_server_socket.close()