delphi实现websocket的⼀款⾮常强势的控件----sgcWebsocket 最近⼿头有个项⽬需要⽤到websocket,⾃⼰写⼀个显然不⼤可能,时间与精⼒也不允许,别⼈我不知道,我是⼀个⽐较懒的⼈,选择delphi编程就是因为他能偷懒,编程是体⼒活,⼀个好的项⽬是基于⼀个好的创新idea上的,别⼈想不到的创意,你想到了并⽤程序实现
了,这是⼀个很厉害的⾏为。
  于是在⽹上搜下看有没有开源的第三⽅控件。您别说还真搜到⼏个,经过筛选,最后锁定sgcWebsocket。选择它的原因很简单,⽹络
websocket和socket协议⼀直在发展,只有他⽐较新,可能满⾜我们的需求。
⾸先到是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学习,以后有新的收获会慢慢分享!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。