搜索
首页后端开发Python教程如何利用python3来实现TCP协议?

下面小编就为大家带来一篇python3实现TCP协议的简单服务器和客户端案例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

利用python3来实现TCP协议,和UDP类似。UDP应用于及时通信,而TCP协议用来传送文件、命令等操作,因为这些数据不允许丢失,否则会造成文件错误或命令混乱。下面代码就是模拟客户端通过命令行操作服务器。客户端输入命令,服务器执行并且返回结果。

TCP(Transmission Control Protocol 传输控制协议):是一种面向连接的、可靠的、基于字节流的传输层通信协议,由IETF的RFC 793定义。

TCP客户端


from socket import *

host = '192.168.48.128'
port = 13141
addr = (host,port)
bufsize=1024

tcpClient = socket(AF_INET,SOCK_STREAM) # 这里的参数和UDP不一样。
tcpClient.connect(addr) #由于tcp三次握手机制,需要先连接

while True:
  data = input('>>> ').encode(encoding="utf-8")
  if not data:
    break
  # 数据收发和UDP基本一致
  tcpClient.send(data) 
  data = tcpClient.recv(bufsize).decode(encoding="utf-8") 
  print(data)

tcpClient.close()

TCP客户端


from socket import *
from time import ctime
import os 

host = ''
port = 13140
bufsize = 1024
addr = (host,port)

tcpServer = socket(AF_INET,SOCK_STREAM)
tcpServer.bind(addr)
tcpServer.listen(5) #这里设置监听数为5(默认值),有点类似多线程。

while True:
  print('Waiting for connection...')
  tcpClient,addr = tcpServer.accept() #拿到5个中一个监听的tcp对象和地址
  print('[+]...connected from:',addr)

  while True:
    cmd = tcpClient.recv(bufsize).decode(encoding="utf-8") 
    print('  [-]cmd:',cmd)
    if not cmd:
      break
    ###这里在cmd中执行来自客户端的命令,并且将结果返回###
    cmd = os.popen(cmd) ###os.popen(cmd)对象是file对象子类,所以可以file的方法
    cmdResult = cmd.read()
    cmdStatus = cmd.close()
    #################################################
    data = cmdResult if (not cmdStatus) else "ERROR COMMAND"
    tcpClient.send(data.encode(encoding="utf-8"))

  tcpClient.close() #
  print(addr,'End')
tcpServer.close() #两次关闭,第一次是tcp对象,第二次是tcp服务器

以上是如何利用python3来实现TCP协议?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
win11怎么更改tcp协议?win11系统tcp协议更改方法详情win11怎么更改tcp协议?win11系统tcp协议更改方法详情Feb 01, 2024 pm 05:30 PM

Windows系统中的传输协议之一是TCP协议,它在运行和使用某些功能时是必需的。最近,一些Win11用户遇到了TCP协议的问题,需要进行修改。然而,很多人不知道如何操作才能成功修改。为了解决这个问题,本期Win11教程将为大家提供详细的设置方法。如果您需要,请访问本站获取完整的步骤。win11怎么更改tcp协议:1、首先鼠标右键点击右下角的网络图标,打开网络和internet设置。3、然后打开相关设置下的更多网络适配器选项。5、打开后,就能找到tcp协议了,双击可以打开它。7、还能点击高级以修

Go语言中的TCP协议和异步IO处理技术Go语言中的TCP协议和异步IO处理技术Jun 02, 2023 am 09:10 AM

随着互联网技术的不断发展,TCP协议和异步IO处理技术也愈发重要。作为一门现代化的编程语言,Go语言天然支持TCP协议和异步IO处理技术,这使得Go语言在开发网络应用中极其方便和高效。本篇文章将从TCP协议和异步IO处理技术两个方面来探讨Go语言在网络应用开发中的优势。一、TCP协议TCP协议是一种可靠的、面向连接的网络传输协议。它能够保障网络传输的可靠性,

如何在Windows 11系统中更改TCP协议设置如何在Windows 11系统中更改TCP协议设置Apr 02, 2024 pm 01:43 PM

在Windows11操作系统中,TCP协议作为底层通信架构的关键部分,对系统内众多功能的稳定运行起着不可或缺的作用。当有用户意图根据自身需求对TCP协议进行个性化调整时,可能会面临操作上的困惑。为此,下面为大家带来如何在Windows11系统中更改TCP协议设置的详细操作步骤,一起来看看吧。更改方法1、右击右下角任务栏中的网络图标,接着选择选项列表中的"网络和internet设置"。2、进入到新的界面后,点击右侧中的"高级网络设置"选项。3、随后点击"相关设置"中的"更多网络适配器选项"。4、之

tcp属于哪一层的协议tcp属于哪一层的协议Jul 05, 2023 am 10:52 AM

tcp是“传输层”的协议。tcp指的是“传输控制协议”,是一种面向连接的、可靠的、基于字节流的传输层通信协议,tcp补充了Internet协议,它定义了用于识别Internet上系统的IP地址,主要确保不同节点之间的端到端数据传输。

python3如何安装pippython3如何安装pipDec 20, 2023 pm 05:42 PM

安装步骤:1、确保已经安装了Python3,并且可以通过命令行访问;2、打开终端,输入“python3 -m ensurepip --upgrade”命令来安装pip;3、从Python官方网站下载pip的安装包;4、将下载的pip安装包解压到一个目录中;5、打开终端,并导航到解压后的pip目录;6、运行“python3 setup.py install”命令安装pip即可。

如何在Go语言中使用TCPF协议进行网络通信如何在Go语言中使用TCPF协议进行网络通信Mar 28, 2024 am 08:06 AM

如何在Go语言中使用TCP协议进行网络通信在Go语言中,我们可以使用net包提供的方法来实现TCP协议进行网络通信。通过建立TCP连接,我们可以实现客户端和服务器之间的数据传输。下面将详细介绍如何在Go语言中使用TCP协议进行网络通信,包括客户端和服务器端的实现,以及具体的代码示例。1.TCP客户端在Go语言中,我们可以通过net包提供的Dial函数来建立

Workerman开发:如何实现基于TCP协议的远程文件管理系统Workerman开发:如何实现基于TCP协议的远程文件管理系统Nov 07, 2023 am 08:46 AM

Workerman开发:如何实现基于TCP协议的远程文件管理系统引言:随着云计算和远程工作的兴起,远程文件管理系统成为了越来越多企业和个人的需求。在本文中,我们将介绍如何利用Workerman框架实现一个基于TCP协议的远程文件管理系统,并提供具体的代码示例。一、准备工作在开始编写代码之前,我们需要准备一些必要的工具和环境。首先,确保你已经安装了PHP环境,

Workerman开发:如何实现基于TCP协议的即时通讯Workerman开发:如何实现基于TCP协议的即时通讯Nov 07, 2023 am 10:34 AM

Workerman开发:如何实现基于TCP协议的即时通讯引言:随着互联网时代的发展,即时通讯在我们日常生活中扮演了重要的角色。而基于TCP协议的即时通讯已成为一种常见的解决方案。本文将介绍如何使用Workerman框架,通过编写具体的代码示例,实现基于TCP协议的即时通讯。一、Workerman简介Workerman是一个高性能的PHPSocket服务框架

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

MinGW - 适用于 Windows 的极简 GNU

MinGW - 适用于 Windows 的极简 GNU

这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。

安全考试浏览器

安全考试浏览器

Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

SublimeText3 英文版

SublimeText3 英文版

推荐:为Win版本,支持代码提示!

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),