WEB聊天室的四种现实方案及其比较一、基于ActiveX的聊天室.docxVIP

WEB聊天室的四种现实方案及其比较一、基于ActiveX的聊天室.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
WEB聊天室的四种现实方案及其比较一、基于ActiveX的聊天室

WEB聊天室的四种实现方案及其比较一、基于ActiveX的聊天室?一、基于ActiveX的聊天室基于ActiveX的聊天室其实现过程类似于前文所述的Java聊天室。在返回给客户端的HTML页面里插入ActiveX控件,该ActiveX控件与Web服务器上运行的专用聊天服务程序进行连接,当客户端用户输入新发言时,发言被传送到聊天服务器并由其广播。和Java Applet一样,ActiveX控件实现了实时聊天。在网页上使用ActiveX比用Java Applet具有更快的速度和更大的灵活性。因为ActiveX控件下载后,不需要虚拟机解释而是直接执行,如同本机上的应用程序一样。在网页中你可以嵌入各种ActiveX控件(如数据表格、多媒体、图形图象、压缩加密等等),可以方便的将传统应用程序轻松的移植到Intranet/Internet上。它所能实现的功能远远超过现有的各种动态网页技术,包括DHTML、CGI、ASP等。不过话又说回来,由于ActiveX能够存取客户机的所有资源,所以安全性成为该技术流行开来的最大障碍。当下载的网页中包含ActiveX控件时,浏览器用户必须确认该控件带有可以信赖的公司的电子签名,才敢放心执行。ActiveX的另一缺陷是它只能运行于Windows平台,而且只同IE浏览器配合较好,对于Netscape的用户来说,必须下载专门的PlugIn才能查看ActiveX网页。我们使用Visual Basic 6来实现聊天服务器和客户端的ActiveX控件。(1)聊天服务器的编写新建一个工程,类型为标准EXE,名字为prjChatServer,将主Form名字改为frmServer,其上放置的控件有:txtLog,类型TextBox,属性MultiLine=True??ScrollBars=VerticalsktChatServer,类型?Winsock,属性?Index=0cmdExit,类型?CommandButtontxtLog用于显示各客户连接信息,sktChatServer为Winsock控件数组,用于处理与各客户的TCP/IP连接,cmdExit按钮则用于退出系统。在frmServer的代码窗口中加入以下代码:Option ExplicitPrivate Const LISTEN_PORT As Integer = 1888??监听端口号Private Type ActiveClient_Type????Connected As Boolean???是否在连接状态????ClientIP As String???????客户端的IP地址End TypePrivate gClients() As ActiveClient_Type??存储所有连接的聊天用户Private Sub AddLog(sMess As String)??显示信息????txtLog.Text = txtLog.Text + sMess + Chr(13) + Chr(10)End SubPrivate Sub cmdExit_Click()????Unload MeEnd SubPrivate Sub Form_Load()????ReDim gClients(0)????sktChatServer(0).LocalPort = LISTEN_PORT????sktChatServer(0).Listen???启动服务器????AddLog 聊天服务器启动,端口号为 + CStr(LISTEN_PORT) + ...End SubPrivate Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)????Dim i As Integer????退出时断开所有的连接????For i = 1 To UBound(gClients)????????If gClients(i).Connected Then????????????sktChatServer(i).Close????????????Unload sktChatServer(i)????????End If????NextEnd SubPrivate Sub sktChatServer_Close(Index As Integer)????AddLog sktChatServer(Index).RemoteHostIP + ( + CStr(Index) + ) + ?离开了聊天室.????sktChatServer(Index).Close????Unload sktChatServer(Index)????gClients(Index).Connected = False????BroadCast In

文档评论(0)

ww39ef + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档