PlantSimulation的socket交互之TCP

news/2024/9/29 23:08:06

PlantSimulation的socket交互之TCP

 1.python的socket TCP客户端建立

其实可以任选python或plantsimulation作为客户端,博主因研究需要,将python设为客户端。plant设为服务器。

 1 """
 2 Created on Sat December 14 21:00:00 2021
 3 @author: Zhang Litong- Nanjing University of Aeronautics and Astronautics 
 4 """
 5  
 6 from socket import *
 7  
 8 host = "127.0.0.1"
 9 port = 30000
10  
11 client = socket(AF_INET, SOCK_STREAM)
12  
13 client.connect((host, port))
14 while True:
15     str='python_to_plant successful!!'
16     str=str.encode()
17     client.send(str)
18  
19     response = client.recv(4096)
20  
21     print(response)
22     if response:  # 如果接收服务器信息失败,或没有消息回应
23         break
24 client.close()

小伙伴可以根据自己的需要将上述代码转换为函数。

上述代码中 host为服务器地址,127.0.0.1地址段代表本电脑自身的地址。

 

2.PlantSimulation的socket服务器设置

Plant里需要创建两个方法,socket配置如下图所示,这里我命名为MyServerSocket,记得启用socket。

 

 SentMessage方法示例内容如下:使用时运行此方法!!传输大量数据可以将plant中的表直接转换为string格式,再用write指令发送。

1 var word:string:="Plant_to_python successful"
2 MyServerSocket.write(0,word)--0代表服务器
3 print "finished"

 MyCallbackMethod方法示例内容如下:将此方法放到MyServerSocket的回调方法这里。

1 param channelNo: integer, message: string
2 print message

 

3.运行实验

双方都创建完成之后,运行python就可以观察到,PlantSimulation里的控制台会有python的python_to_plant successful!! 字样,运行Plant的SentMessage方法,会在python输出plant_to_python successful 字样。

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

2024-2025-1 20241419《计算机基础与程序设计》第一周学习总结

课程 要求 目标:基于VirtualBox虚拟机安装Ubuntu 作业正文:基于VirtualBox虚拟机安装Ubuntu 教材学习内容总结 1.计算系统:由软件、硬件及其管理的数据组成的用于解决问题以及与其所处环境进行交互的一种动态实体。 2.计算系统的分层:计算系统的各个具体组成部分。 3.抽象:…

Rhino基础操作3 - 出图篇

Rhino建模后出一系列的图的操作:建模后做倒角、利用快照切换视图。 出图有:纯线稿、截面图、剖面图、模型的说明书类、模型渲染图。注:非结构建模专业,纯粹是用Rhino写实用新型专利,所以学了下Rhino的建模。不理解最简面、曲线阶数的影响等,请原谅。--本篇导航--圆角(假…

vscode中文乱码问题

vscode中文乱码解决方法 简单粗暴:文件——>首选项——>设置——>搜索设置——>encoding——>Files:Encoding ——> gbk 修改实现注:可在同文件夹下实现效果; 如果不是固定常用,方法二: 这个就在规定文本文件实现;

AirPods 4 All In One

AirPods 4 All In One AirPods 4 (支持主动降噪) 优点 有主动降噪功能 缺点 与 AirPods 2 对比,耳机柄变短了,不方便佩戴、取下AirPods 4 All In OneAirPods 4 (支持主动降噪)优点有主动降噪功能缺点与 AirPods 2 对比,耳机柄变短了,不方便佩戴、取下(捏不住)demos免费镌刻…

WPF下使用FreeRedis操作RedisStream实现简单的消息队列

Redis Stream简介 Redis Stream是随着5.0版本发布的一种新的Redis数据类型: 高效消费者组:允许多个消费者组从同一数据流的不同部分消费数据,每个消费者组都能独立地处理消息,这样可以并行处理和提高效率。 阻塞操作:消费者可以设置阻塞操作,这样它们会在流中有新数据添加…

联考题解

联考题解 龙(dragon) 难点: (1)删边后如何寻找新的最短路。 (2)A,B两方的决策互相影响十分复杂。 (3)如何统计每个起点的ans。 解题: (3)解决这类多起点一终点的问题,可以想到dp。 (1)解决这类最短路转移的问题,可以考虑最短路树。 (2)解决这类博弈问题,可…

IDEA如何对比不同分支某个文件的差异

前言 我们在使用IDEA开发时,经常是和Git一起使用的,这样能方便的管理我们的代码。 git的一个特点就是可以有很多分支,这些分支能让我们区分不同的功能等,非常方便。 有时候,我们需要查看下某个文件中,当前分支与某个分支的差异,应该如何操作呢? 如何查看不同分支的git差…