首页 > 其他分享 >PlantSimulation的socket交互之TCP

PlantSimulation的socket交互之TCP

时间:2024-09-29 23:01:11浏览次数:8  
标签:plant socket python PlantSimulation TCP client

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 字样。

 

标签:plant,socket,python,PlantSimulation,TCP,client
From: https://www.cnblogs.com/DarlinHu/p/18440922

相关文章

  • socket远程命令
    1.服务端importsocketimportosservers=socket.socket()servers.bind(("localhost",6969))#绑定端口servers.listen()whileTrue:conn,addr=servers.accept()#等待接受对方信息conn客户端连过来的实例,用原来的线路连接whileTrue:......
  • socket 开端口
    一.服务端#!/usr/bin/envpython3importsocket#创建socket对象server_socket=socket.socket(socket.AF_INET,socket.SOCK_STREAM)host=socket.gethostname()#设置一个端口port=12345#绑定端口server_socket.bind((host,port))#设置最大连接数,超过后排队serve......
  • C++实现简单的tcp协议
    Server.cpp#include<iostream>#include<winsock2.h>#include<ws2tcpip.h>#pragmacomment(lib,"ws2_32.lib")constintPORT=8888;constintBUFFER_SIZE=1024;intmain(){WSADATAwsaData;intiResult=WSAStartu......
  • C# Modbus Tcp 实现(二)
    CSocketClientinfo;ModbusMastermaster;//publicstaticModbusTcp2Instance=newModbusTcp2("192.168.0.8",8000);publicstaticModbusTcp2Instance=newModbusTcp2("127.0.0.1",8000);public......
  • C# Modbus Tcp实现(一)
     类CSocketClient主要包括以下内容:privateTcpClient_client;publicThread_connectionThread;privateStreamWriter_write;publicClientRecMsgClassGClientRecMsgClass1=newClientRecMsgClass();privatestringhostn......
  • Modbus Tcp指令(一)
    1.读取一个或多个保持寄存器的数值如指令0002000000060103F20000060002事务标识符0000协议标识符0006长度标识符(从站号开始到指令结尾共有6个byte)01站号03功能码(读取一个或多个保持寄存器的数值)F200起始寄存器地址0006......
  • PbootCMS在阿里云主机上邮件发送失败:服务器已经禁用stream_socket_client和fsockopen
    当你遇到PBootCMS网站的留言邮件通知功能失效,并且提示“服务器已经禁用 stream_socket_client 和 fsockopen 函数,请至少开启一个才能发送邮件!”时,这通常是因为服务器的安全策略禁用了这些函数。解决方法如下:步骤1:检查服务器配置登录阿里云主机管理后台:登录阿里云控制台......
  • 网络编程-TCP
    网络通信基础1、网络通信的协议:TCP、UDP、IP2、网络通信模型:七层模型、四层模型3、网络通信理论:socket、IP、端口号、字节序4、网络IO模型:4种5、网络超时处理6、网络的广播、组播、单播网络通信的特征(局域网)不同设备在通信时,要求其IP地址必须处于同一网段网络通信协议......
  • C++中TCP服务端程序
    服务端创建流程一、调用socket函数创建监听socketsocket套接字:表示通信的端点。就像用电话通信,套接字相当于电话,IP地址相当于总机号码,而端口号则相当于分机号码。intsocket(intdomain,inttype,intprotocol);1.domain(协议族):指定通信的协议族,常见的有:-AF_IN......
  • C#的Socket编程细节
    目录Socket中的Accept步骤1:创建并绑定服务端套接字步骤2:接受连接请求步骤3:与客户端通信步骤4:关闭套接字注意事项Socket中的Connected使用Connected属性客户端检查连接状态服务端检查连接状态注意事项Socket中的RemoteEndPoint使用RemoteEndPoint属性服务端获取......