与连接的客户端同步a,b的值,具体来说:

1.服务端开启后,可以被客户端进行连接;

2.客户端向服务端发送数据,服务端接收数据后将其转发推送给所有连接的客户端。应用场景是,客户端想要修改远程服务器数据库,向服务端发送信息,服务端自身或者通过其他程序修改之后,将变更后的数据推送给所有连接的客户端;

3.当有新的客户端连接进来,不必等到数据变化,服务端主动将当前最新数据推送给这个客户端;

4.发送的数据要约定好规则进行解析,否则参数一多就会乱了套。不过这里为了省事我暂且只将其包装成json形式。

文末提供源码下载。

2 界面设计

 界面将就着看吧

C# winform websocket学习笔记(二)winform服务端

2.1 界面说明

大致可分为:

监听地址设置;

监听开启/关闭,及服务端状态标签;

a,b值的显示与广播;

信息框,用于将一些信息显示出来。

3 主要代码实现

3.1 命名空间及引用

using Newtonsoft.Json;
using System.Threading;
using System.Web;
using System.Net.WebSockets;
using System.Net;
using System.Diagnostics;//AddAddress方法使用

在默认生成的using后面添加这些。

注意Newtonsoft.Json适用于处理json,需要将这个dll文件添加进引用,可以右键引用-管理nuget程序包搜索,也可以 工具-nuget包管理器-程序包管理控制台 输入

Install-Package Newtonsoft.Json

3.1 开启监听

实例化httplistener对象监听端口,如果是websocket类型请求,则进行处理

//开启监听
        private void btnStart_Click(object sender, EventArgs e)
        {
            if (txtIPAddress.Enabled == true)
            {
                MessageBox.Show("请先确认地址");
                return;
            }
            string IpAdress = txtIPAddress.Text;
            txtInfo.AppendText("打开监听" + DateTime.Now.ToString() + "\n");
            Start(IpAdress);
        }
View Code

相关文章: