网络编程
TCP网络编程
TCP客户端开发
- 客户端是指程序在用户设备上的程序。主动发起建立请求连接请求的是客户端。
开发TCP客户端程序步骤
# 1、创建套接字(准备一个手机)
import socket # IP地址类型:IPV4 传输类型:字节流
tcp套接字对象 = socket.socket(socket.AF_INET, socket.SOCKET_STREAM)
# 2、建立和服务器的连接(拨号)
tcp套接字对象.connect(('服务IP', 端口号))
# 3、发送数据(说话)
tcp套接字对象.send(字节类型数据)
# 4、接收数据(听对方回话)
返回值 = tcp套接字对象.recv(本次接收数据的最大长度)
如果返回的是字节数据...
如果返回值是b'',标识断开连接了...
# 5、关闭连接(挂电话)
tcp套接字对象.close()
安装调试助手步骤
- 将包拷贝到Linux拷贝到桌面
- 打开命令窗口切换到桌面:
cd Desktop
- 安装软件:
sudo dpkg -i mNet*
(这个命令是安装包在桌面的情况下,没有的话自己去网上下载)
TCP服务端开发
- 服务端是指运行在服务器设备上的程序,专门为客户端提供数据服务。等待接收连接请求的是服务端程序。
TCP服务端开发步骤
# 1、创建服务器套接字(准备一个专门接收客户电话的总机,并拥有转接到分机的功能)
import socket # 声明IP地址类型是IPV4,传输协议是字节流
socket_server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 2、绑定端口(设置总机号码) IP为''标识本机所有地址
socket_server.bind(('服务器IP', 服务器端口))
# 3、监听:将默认主动套接字改成被动套接字(设置等待服务区座位数)
socket_server.listen(等待区大小)
# 4、接收一个客户端连接(叫号一个客户从等待区到服务区)
# 服务完一个马上叫号下一个
while True:
与客户通信的套接字对象(分机), 客户端IP地址 = socket_server.accept()
# 与一个用户循环交流
while True:
# 5、使用与客户通讯的套接字对象与客户进行交流
与客户通信的套接字对象.recv() / .send()
# 当客户断开连接break
# 6、关闭和客户端通讯的套接字
和客户端通信的套接字.close()
# 7、关闭总机,总机一般不需要关闭
socket_server.close()