VS通过TCPIP与visionpro通讯

效果图

 服务器端

visionpro配置服务器端,配置端口号、需要发送的数据等

 客户端

vs编写代码接收数据

主要是复制的例程,到时候编写的时候可以借鉴。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Net.Sockets;
using System.Net;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;namespace myTCPIPApp
{public partial class Form1 : Form{// Used for thread safe GUI updateprivate delegate void UpdateString(string text);private TcpClient _client;// Thread that is responsible for identifying client connection requests.private Thread _connectionThread;private long _totalBytes; // record the total number of bytes received// Used to log the received data from serverprivate StreamWriter _write;// When the server is not running from the same machine,// change Dns.GetHostName() to the target server name.private string hostname = Dns.GetHostName();public Form1(){InitializeComponent();}private void ConnectButton_Click(object sender, EventArgs e){if (ConnectButton.Text == "Connect"){ConnectToServer();}else{StopClient();}}private void ConnectToServer(){try{ConnectButton.Text = "Stop";//_totalBytes = 0;// There is only one connection thread that is used to connect clients._connectionThread = new System.Threading.Thread(new ThreadStart(ReceiveDataFromServer));_connectionThread.IsBackground = true;_connectionThread.Priority = ThreadPriority.AboveNormal;_connectionThread.Name = "Handle Server";_connectionThread.Start();PortNumberBox.Enabled = false;}catch (Exception ex){MessageBox.Show(this, ex.Message, "QuickBuild Client Sample");}}private void StopClient(){if (this.InvokeRequired){// StopClient can be called after// client is closedif (ConnectButton.Text != "Connect")this.BeginInvoke(new MethodInvoker(StopClient));return;}Cursor.Current = Cursors.WaitCursor;// Change to listen modeConnectButton.Text = "Connect";if (_client != null){// Close the connection_client.Close();// Wait for the thread to terminate._connectionThread.Join();}PortNumberBox.Enabled = true;Cursor.Current = Cursors.Default;}private void ReceiveDataFromServer(){try{// Create TcpClient to initiate the connection to the server._client = new TcpClient(hostname,Int32.Parse(PortNumberBox.Value.ToString()));}catch (SocketException ex){//DisplayError(ex.Message);return;}NetworkStream netStream = null;try{netStream = _client.GetStream();}catch (Exception ex){// a bad connection, couldn't get the NetworkStream//DisplayError(ex.Message);return;}// Make sure we can read the data from the network streamif (netStream.CanRead){try{// Receive buffer -- should be large enough to reduce overhead.byte[] receiveBuffer = new byte[512];int bytesReceived;                    // Received byte count// Read data until server closes the connection.while ((bytesReceived = netStream.Read(receiveBuffer, 0, receiveBuffer.Length)) > 0){if (_write != null)_write.Write(Encoding.ASCII.GetString(receiveBuffer, 0, bytesReceived));UpdateGUI(Encoding.ASCII.GetString(receiveBuffer, 0, bytesReceived));}}catch (Exception ex){// Ignore if the error is caused during shutdown// since the stream and client will be closed//if (ConnectButton.Text != "Connect")//DisplayError(ex.Message);}}StopClient();}private void UpdateGUI(string s){if (OutputTextBox.InvokeRequired)OutputTextBox.BeginInvoke(new UpdateString(UpdateGUI), new object[] { s });else{if (OutputTextBox.TextLength >= OutputTextBox.MaxLength)OutputTextBox.Text = "";OutputTextBox.AppendText(s);_totalBytes += s.Length;//TotalBytesLabel.Text = _totalBytes.ToString();}}}
}

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

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

相关文章

《UNUX环境高级编程》(14)高级I/O

1、引言 2、 非阻塞I/O 系统调用分为两类:低速系统调用和其他系统调用。低速系统调用是可能会使进程永远阻塞的一类系统调用,包括: 如果某些文件类型(如读管道、终端设备和网络设备)的数据并不存在,读操作…

超导材料LK-99烧制工艺中高真空度及其气氛环境控制的解决方案

摘要:根据近期LK-99超导材料研究报道,我们分析此材料制备采用了真空烧结工艺。由于目前大部分复现研究所用的真空烧结技术和设备都非常简陋,使得LK-99的复现性很差。为此我们提出了真空度准确控制解决方案,其目的第一是实现烧结初…

网工内推 | 信息安全负责人,需8年安全经验,CISSP证书

01 上海鹰角网络 招聘岗位:信息安全负责人 职责描述: 1、负责公司总体的信息安全规划、信息安全管理体系、流程、制度的设计和优化,确保在运营、应用、信息和业务等方面的持续安全、稳定; 2、负责对系统,网络&#xf…

ad+硬件每日学习十个知识点(22)23.8.2(LDO datasheet手册解读)

文章目录 1.LDO的概述、features2.LDO的绝对参数(功率升温和结温)3.LDO的引脚功能4.LDO的电气特性5.LDO的典型电路(电容不能真用1uF,虽然按比例取输出值,但是R2的取值要考虑释放电流)6.LDO的开关速度和线性…

PoseFormer:基于视频的2D-to-3D单人姿态估计

3D Human Pose Estimation with Spatial and Temporal Transformers论文解析 摘要1. 简介2. Related Works2.1 2D-to-3D Lifting HPE2.2 GNNs in 3D HPE2.3 Vision Transformers 3. Method3.1 Temporal Transformer Baseline3.2 PoseFormer: Spatial-Temporal TransformerSpati…

人文景区有必要做VR云游吗?如何满足游客出行需求?

VR云游在旅游行业中的应用正在快速增长,为游客带来沉浸式体验的同时,也为文旅景区提供了新的营销方式。很多人说VR全景展示是虚假的,比不上真实的景区触感,人文景区真的有必要做VR云游吗?我的答案是很有必要。 如果你认…

【Windows】Windows开机密码重置

文章目录 前言一、问题描述二、操作步骤2.1 安装DaBaiCai_d14_v6.0_2207_Online.exe2.2 插入U盘2.3 打开大白菜,点击“一键制作USB启动盘”2.4 等待进度条走完2.5 重启电脑,开机按“F12”或者“F8”(具体百度一下,对应品牌电脑开机…

MyCat配置文件schema.xml讲解

1.MyCat配置 1.1 schema标签 如果checkSQLschema配置的为false,那么执行DB01.TB_ORDER时就会报错,必须用use切换逻辑库以后才能进行查询。 sqlMaxLimit如果未指定limit进行查询,列表查询模式默认为100,最多只查询100条。因为用mycat后默认数…

JVM详情

JVM详情 一、JVM内存划分二、双亲委派模型(重点考察)三、 GC(垃圾回收机制)垃圾的判定算法垃圾回收算法 一、JVM内存划分 堆:存放new出来的对象;(成员变量) 方法区:存放…

LeetCode_01 精度丢失

1281. 整数的各位积和之差 给你一个整数 n,请你帮忙计算并返回该整数「各位数字之积」与「各位数字之和」的差。 示例 输入:n 234 输出:15 解释: 各位数之积 2 * 3 * 4 24 各位数之和 2 3 4 9 结果 24 - 9 15示例 …

C++20协程

目录 协程原理: 进程、线程和协程的区别和联系​编辑 协程在IO多路复用中 协程的目的: 协程的优势: ​ 协程原理: (学习来源:幼麟实验室) 线程是进程中的执行体,拥有一个…

RISCV 5 RISC-V调用规则

RISCV 5 RISC-V调用规则 1 Register Convention1.1 Integer Register Convention1.2 Floating-point Register Convention 2. Procedure Calling Convention2.1 Integer Calling Convention2.2 Hardware Floating-point Calling Convention2.3 ILP32E Calling Convention2.4 Na…

现代C++中的从头开始深度学习【1/8】:基础知识

一、说明 提及机器学习框架与研究和工业的相关性。现在很少有项目不使用Google TensorFlow或Meta PyTorch,在于它们的可扩展性和灵活性。也就是说,花时间从头开始编码机器学习算法似乎违反直觉,即没有任何基本框架。然而,事实并非…

正则表达式的使用

1、正则表达式-教程 正则表达式:文本模式,包括普通字符(例如,a到z之间的字母)和特殊字符(称为元字符)。 正则表达式使用单个字符串来描述,匹配一系列匹配某个句法规则的字符串。 2、…

A2C原理和代码实现

参考王树森《深度强化学习》课程和书籍 1、A2C原理: Observe a transition: ( s t , a t , r t , s t 1 ) (s_t,{a_t},r_t,s_{t1}) (st​,at​,rt​,st1​) TD target: y t r t γ ⋅ v ( s t 1 ; w ) . y_{t} r_{t}\gamma\cdot v(s_{t1};\mathbf…

如何在Spring MVC中使用@ControllerAdvice创建全局异常处理器

文章目录 前言一、认识注解:RestControllerAdvice和ExceptionHandler二、使用步骤1、封装统一返回结果类2、自定义异常类封装3、定义全局异常处理类4、测试 总结 前言 全局异常处理器是一种 🌟✨机制,用于处理应用程序中发生的异常&#xff…

ROS入门核心教材重要节选

ROS核心教程 1、文件系统 使用下述命令查看包 rospack ros pack(age) 如rospack find roscpp roscd ros cd 如roscd roscpp rosls ros ls 如rosls roscpp2、ROS节点 节点可以理解为人工定义一个机器人模块,然后抽象成可执行文件。 rosnode li…

TCP的四次挥手与TCP状态转换

文章目录 四次挥手场景步骤TCP状态转换 四次挥手场景 TCP客户端与服务器断开连接的时候,在程序中使用close()函数,会使用TCP协议四次挥手。 客户端和服务端都可以主动发起。 因TCP连接时候是双向的,所以断开的时候也是双向的。 步骤 三次…

LabVIEW开发3D颈动脉图像边缘检测

LabVIEW开发3D颈动脉图像边缘检测 近年来,超声图像在医学领域对疾病诊断具有重要意义。边缘检测是图像处理技术的重要组成部分。边缘包含图像信息。边缘检测的主要目的是根据强度和纹理等属性识别图像中均匀区域的边界。超声(US)图像存在视觉…

vue项目实战-脑图编辑管理系统kitymind百度脑图

前言 项目为前端vue项目,把kitymind百度脑图整合到前端vue项目中,显示了脑图的绘制,编辑,到处为json,png,text等格式的功能 文章末尾有相关的代码链接,代码只包含前端项目,在原始的…