首页 > 编程语言 >Python网络编程之TCP 客户端程序开发

Python网络编程之TCP 客户端程序开发

时间:2023-01-04 19:31:55浏览次数:49  
标签:socket Python recv TCP tcp 客户端程序 接字 data 服务端

一、开发 TCP 客户端程序开发步骤回顾

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

二、socket 类的介绍

导入 socket 模块 import socket

创建客户端 socket 对象 socket.socket(AddressFamily, Type)

参数说明:

  • AddressFamily 表示IP地址类型, 分为TPv4和IPv6
  • Type 表示传输协议类型

方法说明:

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

三、TCP 客户端程序开发示例代码

import socket


if __name__ == '__main__':
# 创建tcp客户端套接字
# 1. AF_INET:表示ipv4
# 2. SOCK_STREAM: tcp传输协议
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 和服务端应用程序建立连接
tcp_client_socket.connect(("192.168.131.62", 8080))
# 代码执行到此,说明连接建立成功
# 准备发送的数据
send_data = "你好服务端,我是客户端小黑!".encode("gbk")
# 发送数据
tcp_client_socket.send(send_data)
# 接收数据, 这次接收的数据最大字节数是1024
recv_data = tcp_client_socket.recv(1024)
# 返回的直接是服务端程序发送的二进制数据
print(recv_data)
# 对数据进行解码
recv_content = recv_data.decode("gbk")
print("接收服务端的数据为:", recv_content)
# 关闭套接字
tcp_client_socket.close()

执行结果:
b'hello'
接收服务端的数据为: hello

说明

  1. str.encode(编码格式) 表示把字符串编码成为二进制
  2. data.decode(编码格式) 表示把二进制解码成为字符串

网络调试助手充当服务端程序:

Python网络编程之TCP 客户端程序开发_服务端

标签:socket,Python,recv,TCP,tcp,客户端程序,接字,data,服务端
From: https://blog.51cto.com/u_13236892/5989201

相关文章

  • python脚本调用CANoe COM Server接口
    《CANoe开发入门到精通》源码:#-----------------------------------------------------------------------------#Example:TestFeatureSetviaPython##This......
  • (15)Python识别文字,tesseract包
    使用python提供的tesseract包识别图片中的文字,但效果一般我的是在arch中实现的文章目录​​1、安装tesseract和英文和中文语言包​​​​2、安装必要的第三方库​​​​3、......
  • modbus4j 实现modbus tcp通讯
    1. Maven依赖<!--modbus4j--><dependency><groupId>com.infiniteautomation</groupId><artifactId>modbus4j</artifactId><version>3.0.3</version>......
  • python爬取银行存款利率数据
    三年疫情让各行各业的经济都下滑了很多,手里有钱的人都会很谨慎地进行一些投资项目。2023新年来临,银行存款利率也出现一波调整,近期多家中小银行对定期存款挂牌利率进行下调。......
  • Python内置方法
    开胃菜(小例子、用法):help(method)查看帮助,按space或enter继续显示多的行数(--More--),按ctrl+c退出。如果想要查看有哪些方法,比如list有哪些方法,可以:dir(list)输出:>......
  • 【Azure 应用服务】Azure Function Python函数部署到Azure后遇见 Value cannot be nul
    问题描述使用VSCode创建PythonFunction,处理EventHub中的数据。当部署到AzureFunctionApp后,函数无法执行,查看Function日志出现 Valuecannotbenull.(Parameter......
  • python常识系列07-->python利用xlwt写入excel文件
     前言读书之法,在循序而渐进,熟读而精思。——朱熹抽空又来写一篇,毕竟知识在于分享!一、xlwt模块是什么python第三方工具包,用于往excel中写入数据;(ps:只能创建新表格,不能修......
  • 网上一个哥们写的,使用Python写一个m3u8多线程下载器 -- 没用起来
    文章目录I.挖坑缘由II.功能/更新记录III.代码1.GUI2.下载工具类3.逻辑代码IV.下载地址I.挖坑缘由现在很多在线观看的视频为了防盗链使用了M3u8格式,想要下载的话比较麻烦,如果......
  • 万万没想到,除了香农计划,Python3.11竟还有这么多性能提升!
    众所周知,Python3.11版本带来了较大的性能提升,但是,它具体在哪些方面上得到了优化呢?除了著名的“香农计划”外,它还包含哪些与性能相关的优化呢?本文将带你一探究竟!作者:Beshr......
  • 谷歌、微软、Meta?谁才是 Python 最大的金主?
    你知道维护Python这个大规模的开源项目,每年需要多少资金吗?答案是:约200万美元!​​PSF​​​(Python软件基金会)在2022年6月发布了2021的​​年度报告​​,其中披露了......