当前位置:龙泉人才网 - 职业人才 -

客户端开发(TCP客户端开发)

  • 职业人才
  • 2023-11-21 11:00
  • 龙泉小编

TCP客户端程序开发流程介绍

客户端开发(TCP客户端开发)

TCP客户端程序开发步骤

  1. 创建客户端套接字对象
  2. 和服务端套接字建立连接
  3. 发送数据
  4. 接收数据
  5. 关闭客户端套接字

socket类的介绍

  • 导入socket模块 import socket
  • 创建客户端socket对象 socket.socket(AddressFamily, Type)

AddressFamily表示IP地址类型,分为IPv4和IPv6

Type表示传输协议类型

方法说明

  • connect(host,port)表示和服务端套接字建立连接,host是服务器ip地址,port是应用程序的端口号
  • send(data)表示发送数据,data是二进制数据
  • recv(buffersize)表示接收数据,buffersize是每次接收数据的长度

编解码

网络中必须传输二进制的数据

字符串转化为二进制encode("utf-8")

二进制转化成字符串decode("utf-8")

注意:utf8编码的数据必须用utf8解码


客户端开发(TCP客户端开发)

import socket # 1 创建客户端套接字对象(买电话) # 参数1: ipv4(ip协议的版本) # 参数2: 选择协议(SOCK_STREAM==> TCP协议) tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 2 和服务端套接字建立连接(打电话) # 参数: 元组(有两个元素!!!) # 元素1: 服务器的IP地址(字符串) # 元素2: 服务器的端口号(数字) tcp_client_socket.connect(("192.168.1.105", 8080)) # 发送数据的时候需要先转化成二进制 data = "123" # 编码 data = data.encode("utf8") # 3 发送数据(说话) tcp_client_socket.send(data) # 4 接收数据(聆听) # 参数: 以字节为单位的接受的数据的大小 # 注意: recv会阻塞等待数据的到来 recv_data = tcp_client_socket.recv(1024) # 解码 recv_data = recv_data.decode("utf8") print(recv_data) # 5 关闭客户端套接字 tcp_client_socket.close()

在虚拟机Linux系统打开网络调试助手,选择TCP服务器,连接网络,运行程序,可以看到服务器接收到了数据

客户端开发(TCP客户端开发)

服务端

这时我们输入aaa,点击发送,在Pycharm中可以看到接收了服务器的数据。


免责声明:本文内容来源于网络或用户投稿,龙泉人才网仅提供信息存储空间服务,不承担相关法律责任。若收录文章侵犯到您的权益/违法违规的内容,可请联系我们删除。
https://www.lqrc.cn/a/zhiye/80584.html

  • 关注微信
下一篇:暂无

猜你喜欢

微信公众号