上位机网络通讯

目录

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

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


一 设计原型

二 后台源码

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

        }
    }
}
相关推荐
夜光小兔纸29 分钟前
oracle查询出表中某几个字段值不唯一的数据
数据库·sql·oracle
abc800211703432 分钟前
前端Bug 修复手册
前端·bug
Best_Liu~35 分钟前
el-table实现固定列,及解决固定列导致部分滚动条无法拖动的问题
前端·javascript·vue.js
_斯洛伐克1 小时前
下降npm版本
前端·vue.js
deadknight92 小时前
Oracle密码过期处理方式
数据库·oracle
Ljubim.te3 小时前
数据库第01讲章节测验(选项顺序可能不同)
数据库
吱吱喔喔3 小时前
数据分表和分库原理
数据库·分表·分库
快乐非自愿3 小时前
KES数据库实践指南:探索KES数据库的事务隔离级别
数据库·oracle
苏十八3 小时前
前端进阶:Vue.js
前端·javascript·vue.js·前端框架·npm·node.js·ecmascript
一只fish3 小时前
Oracle的RECYCLEBIN回收站:轻松恢复误删对象
数据库·oracle