delphi实现websocket的一款非常强势的控件----sgcWebsocket

  最近手头有个项目需要用到websocket,自己写一个显然不大可能,时间与精力也不允许,别人我不知道,我是一个比较懒的人,选择delphi编程就是因为他能偷懒,编程是体力活,一个好的项目是基于一个好的创新idea上的,别人想不到的创意,你想到了并用程序实现了,这是一个很厉害的行为。
  于是在网上搜下看有没有开源的第三方控件。您别说还真搜到几个,经过筛选,最后锁定sgcWebsocket。选择它的原因很简单,网络协议一直在发展,只有他比较新,可能满足我们的需求。
首先找到是sgcWebsocket 4.1.0源码版本,尝试编译失败,因为sgcWebsocket是基于indy上面实现的,由于delphi7是9.0版本太旧了,需要更新到indy10。更新完成之后尝试编译发现有个inherit;无法编译,不管他注释掉再说,安装成功后尝试了部分ws://与wss://的websocket发现可以成功通信,但是我的项目使用的是wss://的高版本的协议来通信的,无法通信成功。
  不想对老版本做修改,这太累了,不死心看看有没有新的版本,您别说还真找到了sgcWebsocket 4.4.4 源码版,这时我才知道这个第三方控件作者一直是在维护的,差不多一个月左右会更新一次,并且是收费的,试用版提供的是dcu文件,看了下收费版源码的价格,好像也不贵,以后真的要长期用这个控件的话,可以出钱买一份,毕竟算是用金钱换时间吧,而且作者也一直在更新修复BUG。好,言归正传,直接编译这个版本很顺利,高版本就是不一样,这个版本多了协议版本可以选择,选择了1.2版本,简单的配置下连接,发现与服务器wss://xxxxxx/socket.io/?transport=websocket通信成功。成功是成功了,可是发现中文返回的是问好????,不显示中文,比较苦恼,最后折腾了一天,又是OD调试,又是搜索,最后发行居然还是indy版本的原因。这里想说下这一个版本虽然不是最新的版本,但也算较新,它已经把indy剥离了出来,就算不装indy也能顺利使用该控件。为了要了解他更强大的功能,我去下载了最新试用版本的demo学习,以后有新的收获会慢慢分享!
  控件下载:https://download.csdn.net/download/gust2013/76116203

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
负载平衡,MQTT协议支持,修正大量Bug,最新稳定版 Delphi7/XE6/XE7/XE8 ******************************************************* sgcWebSockets ******************************************************* [*] : Bug [+] : New [-] : Deleted [/] : Breaking changes Versions -------- 4.1.0: 2017 April [+] : Added support for Rad Studio 10.2 Tokyo. [+] : Added support for Linux compiler. [+] : MQTT client, added subscribe method. [+] : MQTT client, added unsubscribe method. [+] : MQTT client, added publish method. [+] : MQTT client, added Authentication property, allows to set user and password to authenticate against MQTT Server. [+] : MQTT client, added HeartBeat property, keeps alive connection. [+] : MQTT client, added LastWillTestament property, when client disconnects, sends a message to other connected clients. [+] : New Property "NotifyDeletes" in Dataset Server Protocol, if enabled (by default) broadcast deleted record to all clients. [+] : New Method "BroadcastRecord" in Dataset Server Protocol, sends dataset record values to all clients. [+] : New Method "MetaData" in Dataset Server Protocol, sends metadata info to a single client. [+] : New Method "Synchronize" in Dataset Server Protocol, sends dataset record values to a single client. [*] : Fixed Bug ReadTimeout and ConnectionTimeout in client component. [*] : Added Guid property to Client File Protocol. [*] : Fixed Bug Invalid Character when trying to access to built-in javascript libraries. [*] : Fixed Bug File Protocol when BufferSize was set to zero, file was not saved properly. [*] : Fixed Memory Leaks on NextGen compiler. [*] : Fixed WebRTC Chrome console errors.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南通DXZ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值