Python---TCP 客户端程序开发

1. 开发 TCP 客户端程序开发步骤回顾

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

2. 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是每次接收数据的长度

3. TCP 客户端程序开发示例代码

import socketif __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)# 接收数据, 这次接收的数据最大字节数是1024recv_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(编码格式) 表示把二进制解码成为字符串

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

4. 小结

  1. 导入socket模块
  2. 创建TCP套接字‘socket’
    • 参数1: ‘AF_INET’, 表示IPv4地址类型
    • 参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型
  3. 发送数据‘send’
    • 参数1: 要发送的二进制数据, 注意: 字符串需要使用encode()方法进行编码
  4. 接收数据‘recv’
    • 参数1: 表示每次接收数据的大小,单位是字节
  5. 关闭套接字‘socket’表示通信完成


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/222088.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重塑数字生产力体系,生成式AI将开启云计算未来新十年?

科技云报道原创。 今天我们正身处一个历史的洪流,一个巨变的十字路口。生成式AI让人工智能技术完全破圈,带来了机器学习被大规模采用的历史转折点。 它掀起的新一轮科技革命,远超出我们今天的想象,这意味着一个巨大的历史机遇正…

医院影像科PACS系统源码,医学影像系统,支持MPR、CPR、MIP、SSD、VR、VE三维图像处理

PACS系统是医院影像科室中应用的一种系统,主要用于获取、传输、存档和处理医学影像。它通过各种接口,如模拟、DICOM和网络,以数字化的方式将各种医学影像,如核磁共振、CT扫描、超声波等保存起来,并在需要时能够快速调取…

057:vue组件方法中加载匿名函数

第057个 查看专栏目录: VUE ------ element UI 专栏目标 在vue和element UI联合技术栈的操控下,本专栏提供行之有效的源代码示例和信息点介绍,做到灵活运用。 (1)提供vue2的一些基本操作:安装、引用,模板使…

宽带阻抗匹配的工程实现-第一步,端口驻波仿真

概要 ADS仿真,Matlab仿真,宽带阻抗匹配,smith圆图。 其实阻抗匹配我工作以来经常说,也经常做,但是基本上都是直接在印制板上进行调试。现在想先用仿真软件直接设计出来,才发现很多东西嘴上说容易&#xf…

力扣每日一题day36[112.路径总和]

给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 叶子节点 是指没有子节点…

nuxt打包占用磁盘IO

目录 前言排除过程 前言 jenkins运行打包,总是要卡一段时间,磁盘IO很高。我手动执行后的确发现了这个问题,如下图所示。 排除过程 我的方案很原始,利用git恢复到以前的版本,抽检,搞了差不多两个小时&am…

Megatron模型并行研究

Megatron模型并行研究 1. 技术调研 a. Megatron-LM Megatron-LM针对的是特别大的语言模型,使用的是模型并行的训练方式。但和普通的模型并行不同,他采用的其实是张量并行的形式,具体来说就是将一个层切开放到不同的GPU上,属于层…

XC8284B 高效率12MHz,34V升压LED驱动器 LED背光驱动、闪光灯

XC8284B是一个升压转换器驱动多达9个系列白色LED的单节离子电池设计的。其300mV反馈电压降低功率损耗,提高效率。优化后的工作频率可以满足LC滤波器小值和低工作电流的要求,具有较高的效率。内置软启动功能,可减少浪涌电流。微型封装类型为节…

论文中公式怎么降重 papergpt

大家好,今天来聊聊论文中公式怎么降重,希望能给大家提供一点参考。 以下是针对论文重复率高的情况,提供一些修改建议和技巧,可以借助此类工具: 论文中公式怎么降重 一、引言 在论文撰写过程中,公式是表达学…

【网络技术设备安全】BGP 基础与概述-2-中转 AS 中的 IBGP 路由传递

0x01 中转 AS 中的 IBGP 路由传递 参考该图: 上图,我们模拟一个 1.0 的路由通过 AS 65101 来传递 1:通过图可知,A 与 B 之间的 Peer 为 EBGP,B 与 E 之间为 Peer IBGP,E 与 F 之间为 Peer EBGP 邻接 2&a…

安卓好用的python编辑器,安卓平台python编辑器

本篇文章给大家谈谈安卓上好用的python编辑软件有哪些,以及安卓上好用的python编辑软件推荐,希望对各位有所帮助,不要忘了收藏本站喔。 1. 简介 Thonny是基于python内置图形库tkinter开发出来的支持多平台(windows,Mac,Linux)的python IDE&am…

文献速递:生成对抗网络医学影像中的应用—— CG-3DSRGAN:用于从低剂量PET图像恢复图像质量的分类指导的3D生成对抗网络

文献速递:生成对抗网络医学影像中的应用—— CG-3DSRGAN:用于从低剂量PET图像恢复图像质量的分类指导的3D生成对抗网络 本周给大家分享文献的主题是生成对抗网络(Generative adversarial networks, GANs)在医学影像中的应用。文献…

[已解决]HttpMessageNotReadableException: JSON parse error: Unexpected character:解析JSON时出现异常的问题分析与解决方案

🌷🍁 博主 libin9iOak带您 Go to New World.✨🍁 🦄 个人主页——libin9iOak的博客🎐 🐳 《面试题大全》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~&#x1f33…

人工智能对网络安全的影响

技术的快速发展带来了不断增长的威胁环境,网络犯罪分子和恶意行为者利用我们互联世界中的漏洞。在这个数字时代,数据泄露和网络攻击呈上升趋势,仅靠传统的安全措施已经不够了。人工智能 (AI) 的进步彻底改变了网络安全…

污水处理厂可视化:让环保与科技共舞

随着科技的飞速发展,我们的生活环境变得越来越美好。然而,随着城市化进程的加快,污水处理问题也日益凸显。如何有效、高效地处理污水,成为了一个亟待解决的问题。而“污水处理厂可视化”技术的出现,为这个问题提供了一…

opencv静态链接error LNK2019

opencv 3.1.0 静态库,包括以下文件 只链接opencv_world310d.lib,报错 opencv_world310d.lib(matrix.obj) : error LNK2019: 无法解析的外部符号 _ippicvsFlip_16u_I8,该符号在函数 "enum IppStatus (__stdcall*__cdecl cv::getFlipFu…

论文阅读——RS DINO

RS DINO: A Novel Panoptic Segmentation Algorithm for High Resolution Remote Sensing Images 基于MASKDINO模型,加了两个模块: BAM:Batch Attention Module 遥感图像切分的时候把一个建筑物整体比如飞机场切分到不同图片中,…

C#文件操作(二)

一、前言 文章的续作前文是: C#文件操作(一)-CSDN博客https://blog.csdn.net/qq_71897293/article/details/135117922?spm1001.2014.3001.5501 二、流 流是序列化设备的抽象表示序列化设备可以线性方式储存数据并可按照同样的方式访问一次…

力扣题目学习笔记(OC + Swift)17. 电话号码的字母组合

17. 电话号码的字母组合 给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 关键字:所有组合 模式识别&#xff1a…

Amazon Toolkit — CodeWhisperer 使用

tFragment--> 官网:https://aws.amazon.com/cn/codewhisperer/?trkcndc-detail 最近学习了亚马逊云科技的 代码工具,感慨颇多。下面是安装 和使用的分享。 CodeWhisperer,亚马逊推出的实时 AI 编程助手,是一项基于机器学习…