ActiveX(五)更好的“ActiveX”?

本文探讨了在ActiveX面临浏览器兼容性问题时,如何通过.NET开发独立Application并使用Js进行跨进程通讯来解决。重点介绍了WebSocket作为替代方案的可行性,包括其在.NET和JavaScript中的应用实例。

  前文中四篇随笔、已经可以实现 ActiveX 与 Js 无缝交互、 也就是说借用ActiveX实现更加强大的功能已经完全不是问题。但是、ActiveX 本身还有一个局限性——浏览器兼容问题。如此强大的ActiveX却因为浏览器兼容而饱受折磨,是不是有些可惜?

  那有没有更好的方式可以代替ActiveX呢?

  如果、我们使用.NET开发一独立的Application(WinForm 、Web、 或者 Windows服务)、并在客户端部署,并使用Js进行跨进程通讯,该方案是否可运行呢?然而、恰好,WebSocket走进了我的视野,借用强大的WebSocket、我们可以轻易地实现跨进程通讯。接下来的几篇随笔、我将验证采用该方案去替代ActiveX的可行性。

WebSocket介绍

  下面有几篇文章是介绍WebSocket的,分享一下:

      Socket 与 WebSocket

  WebSocket(2)--为什么引入WebSocket协议

  WebSocket(1)-- WebSocket API简介

  WebSocket(4)-- WebSocket与TCP、Http的关系

  OSI七层模型详解

网络协议图.zip (原图)

 

关于如何应用WebSocket

     1、.NET 中使用 WebSocket

  • Server - HttpListener
  • Client - ClientWebSocket

  2、Js 中使用 WebSocket (详见:WebSocket(1)-- WebSocket API简介)  

var ws = new WebSocket(“ws://echo.websocket.org”);

ws.onopen = function(){ws.send(“Test!”); };

ws.onmessage = function(evt){console.log(evt.data);ws.close();};

ws.onclose = function(evt){console.log(“WebSocketClosed!”);};

ws.onerror = function(evt){console.log(“WebSocketError!”);};

 

  (未完待续...)

 

转载于:https://www.cnblogs.com/08shiyan/p/5207971.html

3.1 控件基本方法(method) 3.1.1 S_InitListen 函数原型 :SHORT S_InitListen(SHORT m_Port) 功能 : 建立服务器端侦听端口 参数 : m_Port 服务器侦听端口号 返回值: :0:成功 1:失败 3.1.2 S_OnSendMsg 函数原型 :SHORT S_OnSendMsg(LPCTSTR m_ip, LPCTSTR m_Msg); 功能 : 单条消息发送 参数 : m_ip 接收端Ip地址 m_Msg 消息信息 返回值: :0 发送成功 1 发送失败 3.1.3 S_OnPushMsg 函数原型 :SHORT S_OnPushMsg(LPCTSTR m_Msg); 功能 : 群发消息 参数 : m_Msg 消息信息 返回值: :0 成功 1:失败 3.1.4 C_OnConnect 函数原型 :SHORT C_OnConnect(LPCTSTR m_ip, SHORT m_port); 功能 : 客户端连接服务器 参数 : m_ip 服务器端ip地址 参数 : m_port 端口号 返回值: :0 成功 1失败 3.1.5 C_OnSendMsg 函数原型 :SHORT C_OnSendMsg(LPCTSTR m_Msg); 功能 : 发送消息 参数 : m_Msg 消息信息 返回值: :0 成功 1失败 3.2 控件事件(event) 3.2.1 FireReceiveSocketMsg 原型 :void FireReceivedSocketMsg(SHORT m_Event, LPCTSTR m_Msg) 功能 :客户端消息 参数 : m_Event 事件类型 1:客户端消息事件 2:客户端通讯错误事件 参数 : m_Msg 事件信息 3.2.2 FireServerReceiveSocketMsg 原型 :void FireServerReceivedSocketMsgWinsocketocxctrl(SHORT m_Event, LPCTSTR m_Msg , LPCTSTR m_Address) 功能 :服务器端消息 参数 : m_Event 事件类型 1:服务器端消息事件 2: 服务器通讯错误事件 3:客户端连接到服务器通知事件(返回客户端ip) 4:客户端断开服务器通知事件(返回客户端ip) 参数 : m_Msg 事件信息 参数 : m_ Address 客户端ip地址 .4 备注 通讯日志存储在C:\ _SOCKET.LOG
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值