网络编程

TCP网络编程

TCP客户端开发

  • 客户端是指程序在用户设备上的程序。主动发起建立请求连接请求的是客户端。

开发TCP客户端程序步骤

Python进阶学习笔记——网络编程(3):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()
安装调试助手步骤
  1. 将包拷贝到Linux拷贝到桌面
  2. 打开命令窗口切换到桌面:cd Desktop
  3. 安装软件:sudo dpkg -i mNet*(这个命令是安装包在桌面的情况下,没有的话自己去网上下载)

TCP服务端开发

  • 服务端是指运行在服务器设备上的程序,专门为客户端提供数据服务。等待接收连接请求的是服务端程序。
TCP服务端开发步骤

Python进阶学习笔记——网络编程(3):TCP网络编程(客户端、服务端)_Python_02

# 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()