上位机网络通讯

目录

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

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


一 设计原型

二 后台源码

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");

        }
    }
}
相关推荐
linux_cfan2 小时前
videojs v10 源代码系列解读:34 · `createComposition`:类型安全的冲突检测
前端·安全
红红谈说2 小时前
标签化推送与已读统计怎么做?一次通知链路的工程复盘
数据库·消息推送·数字乡村·集合运算·已读回执·标签体系·写入放大
Shadow(⊙o⊙)3 小时前
MySQL索引
数据库·mysql
utmhikari3 小时前
【AI原生】借助AI之力优化个人博客前端样式
前端·css·hexo·next·个人博客·ai-native·vibe coding
小凯在掘金4 小时前
为什么箭头函数不能作为构造函数?
前端·javascript
phltxy4 小时前
C 语言动态内存管理:从申请空间到安全释放
c语言·开发语言·ui
倔强的石头_4 小时前
多环境配置治理:开发、测试、生产连接信息如何隔离
数据库
杨云龙UP4 小时前
一次数据库查询缓慢故障复盘:大表数据增长、SQL全表扫描导致系统响应异常
linux·运维·服务器·数据库·sql·mysql
JustHappy5 小时前
「vConsole MCP🛠️」我让 AI 直接看见任何 H5 的日志和请求帮你 debug
前端·javascript·程序员