上位机网络通讯

目录

[一 设计原型](#一 设计原型)

[二 后台源码](#二 后台源码)


一 设计原型

二 后台源码

cs 复制代码
using System;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace 上位机网络通讯
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        Socket socket = null;

        private void hslSwitch1_OnSwitchChanged(object arg1, bool arg2)
        {
            if (hslSwitch1.SwitchStatus)
            {
                Task.Run(() =>
                {
                    socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                    socket.Connect("127.0.0.1", 8899);
                    while (true)
                    {
                        byte[] bytes = new byte[1024];
                        socket.Receive(bytes);
                        string data = Encoding.UTF8.GetString(bytes);
                        if (data.Length > 0)
                        {
                            this.Invoke(new Action<string>(AddData), data);
                        }
                    }
                });
            }
        }


        private void AddData(string data)
        {
            dataGridView1.Rows.Add(data, data, data, data, data, data, data, DateTime.Now.ToLongTimeString(), "OK");

        }
    }
}
相关推荐
user205855615181315 分钟前
Windows 项目安装时报 `node-sass` 错误,如何快速处理
前端
LiaCode16 分钟前
Redis 在生产项目的使用
前端·后端
LiaCode21 分钟前
一天学完 redis 的爽翻版核心知识总结
前端·后端
大刚测试开发实战23 分钟前
如何内网穿透访问本地私有化部署的TestHub
前端·后端·github
风骏时光牛马35 分钟前
# Ruby基于Rails框架实现多角色权限管理与数据分页查询完整实战代码案例
前端
weedsfly37 分钟前
迭代器、生成器与异步迭代——让数据“按需流动”的艺术
前端·javascript
xiaodaoluanzha42 分钟前
迄今為止,最簡單的編程語言 Nolang
前端·后端
Csvn43 分钟前
Fetch 请求竞态终结者:AbortController 不只是用来"取消"的
前端
阡陌Jony44 分钟前
关于前端路由中的参数问题的学习(一): params,query, hash(#)
前端
阡陌Jony1 小时前
缓存相关学习笔记(一):Service Worker 缓存
前端