TCP客户端开发
1.网络编程之IP地址&子网掩码2.端口&端口号3.Socket(套接字)4.socket模块中socket类5.socket加密传输6.socket加密传输&mysql应用7.Socket客户端实现8.Socket客户端与服务端9.TCP(Transmission Control Protocol)传输控制协议10.网络传输数据的编解码
11.TCP客户端开发
12.socket之send和recv原理剖析13.多任务版TCP服务端程序开发14.UDP15.http协议之网址16.http协议之简介17.http协议之请求报文18.http协议之响应报文19.搭建Python⾃带静态Web服务器20.自研静态Web服务器并返回固定⻚⾯数据21.静态web服务器-根据请求返回指定页面数据22.静态Web服务器-多任务版23.静态Web服务器-以⾯向对象的模式开发24.静态Web服务器-命令⾏启动并动态绑定端⼝号什么是客户端&服务端?
1.TCP网络应用程序开发分为客户端程序开发和服务端程序开发。
2. 主动发起建立连接请求的是客户端程序
3. 等待接受连接请求的是服务端程序
TCP客户端开发流程
TCP客户端与服务端启动、交换过程:
TCP客户端开发步骤:
1.创建客户端套接字对象(买电话)
2.和服务端套接字建立连接(打电话)
3.发送数据(说话)
4.接收数据(接听)
5.关闭客户端套接字(挂电话)
涉及socket模块socket类的方法如下:
1. 创建socket对象的socket(AddressFamily, Type)方法: client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
2. 创建连接的connect方法
server_address = ('localhost', 8080)
client_socket.connect(server_address)
3. 发送数据send或sendall方法:
message = 'Hello, server!'
client_socket.sendall(message.encode('utf-8'))
4. 接收数据recv方法:
data = client_socket.recv(1024)
5. 关闭socket方法close:
client_socket.close()
简易示例
import socket if __name__ == '__main__': # 1.创建客户端套接字对象 tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2.和服务端套接字建立连接 ''' 目的信息server_ip = input(“请输入服务器ip:”) server_port = int(input(“请输入服务器port:”)) 连接服务器套接tcp_client_socket.connect((server_ip, server_port)) ''' tcp_client_socket.connect(("172.16.62.136", 8080)) # 3.发送数据 tcp_client_socket.send("nihaome".encode(encoding="utf-8")) # 4.接收数据 recv阻塞等待数据的到来 recv_data = tcp_client_socket.recv(1024) print(recv_data.decode()) # 5.关闭客户端套接字 tcp_client_socket.close()
TCP服务端
开发步骤
1.创建服务端端套接字对象
2.绑定IP地址和端口号
3.设置监听
4.等待接受客户端的连接请求
5.接收数据
6.发送数据
7.关闭套接字
1 import socket # 0. 导入socket模块 2 3 4 if __name__ == '__main__': 5 # 1.创建服务端套接字对象 6 tcp_server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 7 # 2. 绑定IP地址和端口号 8 # tcp_server_socket.bind(("172.16.62.136", 8888)) 9 # 如果bind中的参数第一个ip地址元素设置为"",默认为本机ip地址 10 tcp_server_socket.bind(("", 8888)) 11 # 3.设置监听 128:代表服务端等待排队连接的最大数量 12 tcp_server_socket.listen(128) 13 # 4.等待接受客户端的连接请求 accept阻塞等待 返回一个用以和客户端通socket,客户端的地址 14 conn_socket, ip_port = tcp_server_socket.accept() 15 print("客户端地址:", ip_port) 16 # 5.接收数据 17 recv_data = conn_socket.recv(1024) 18 print("接收到的数据:", recv_data.decode()) 19 # 6.发送数据 20 conn_socket.send("客户端你的数据我收到了".encode()) 21 # 7.关闭套接字 22 conn_socket.close() 23 tcp_server_socket.close()
TCP开发注意事项
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律