之前在做客户管理系统的时候,客户经常给我们提出实施通讯的需求。当时,我们讨论出的方案是客户端间隔时间发送请求,访问服务器的应用,如果状态改变,则弹出消息给用户显示。
今天,在隐心技术论坛上发现一片帖子,作者是高手,使用js+flex+java开发实施通信socket。
Js+Flex+Java模拟的JsSocket组件使用说明
说明:图片、附件都需要登陆才能查看和下载,若没有注册请先注册账号再登陆即可。
JsSocket
演示地址1 演示地址2 隐聊 <----
应大家要求,现已将演示项目“隐聊”开源共享,代码共享地址:
TaoCode svn:http://code.taobao.org/svn/yisin-webchat/ 若没有账号,请自己去注册。
开源中国OSC svn:
JsSocket 是使用js + flex + java开发的一套基于web的socket通信组件,开发服务器消息推送的最佳选择
主要解决大家在开发web项目时需要用到前台与后台时时通信时的问题,除了HTML5的WebSocket之外,之前大家使用的方法一般为:1、页面间断刷新;2、使用ajax间断发送请求;3、使用DWR框架的comet长连接模拟实现,缺点大家都心知肚明
最新的HTML5的WebSocket,虽然很好的解决了这一问题,但IE9及以下版本不兼容HTML5,即不能使用WebSocket来达到目的,本组件因使用的 js + flex,几乎可以兼容所有浏览器,具体使用方法如下介绍
一、后台:
1、导入jar包:JsSocket.jar
2、写一个类SocketClient.java继承 com.yinsin.method.CallBack.java类,此类主要是用来处理客户端收发请求的,示例代码如下:
在这3个方法当中可以做你任何想做的事情
3、可以在web服务启动时,开启JsSocket服务:
a.在web.xml中配置web服务启动监听器
<listener>
<listener-class>com.yinsin.frame.init.InitCustomData</listener-class>
</listener>
b.在InitCustomData的contextInitialized方法中开启JsSocket服务
/** 接收两个参数,第1个参数未端口,第2个参数为CallBack.java的子类 */
TcpServerSocket.getInstance().startServer(10000,new SocketClient());
4、最后启动web服务,若控制台输出了“JsSocket # TCP Socket Server Started!”,即代表完成了搭建JsSocket的后台服务了。
二、前端
1、将所需要的flash资源文件导入到项目中,目录结构为:script/JsSocket/JsSocket.swf和script/JsSocket/playerProductInstall.swf,将此目录放到WebContent或者WebRoot下即可。
2、需要用到JsSocket的页面需要加载下组件所需要的代码:
<span><%=com.yinsin.util.CodeLoader.loaderCode(request.getContextPath())
%></span>
3、js调用初始化函数,初始化组件,连接服务器:
4、向服务器发送消息:
yinsin.sendData('Hello World!');
5、服务器向前端推送消息(补充):
sendDataToClient(Socket, String);
在SocketClient类中,调用此方法即可
本文章是转载文章,原文在隐心技术论坛http://yisin.88448.com/viewthread.php?tid=39949
相关推荐
主要解决大家在开发web项目时需要用到前台与后台时时通信时的问题,除了HTML5的WebSocket之外,之前大家使用的方法一般为:1、页面间断刷新;2、使用ajax间断发送请求;3、使用DWR框架的comet长连接模拟实现,缺点...
在本项目中,"Node.js-WebSSH2基于Web的SSH2客户端使用xterm.js、socket.io和ssh2实现",我们关注的是构建一个在浏览器环境中运行的SSH2客户端。这个客户端允许用户通过Web界面安全地连接到远程服务器执行命令,从而...
jssocket
jssocket,js通过flash使用socket通信
在描述中提到了一个博文链接,虽然具体内容没有提供,但通常这类博客会包含作者学习过程的记录,包括代码实现、遇到的问题和解决方案,这对于其他初学者来说是一个很好的参考资料。通过访问该链接(),你可以获取更...
在这个FLA文件中,你需要导入`nocache.as` 类,并在适当的时间触发建立Socket连接、发送请求和接收SWF数据的代码。 `com.rar` 文件是一个压缩包,可能包含了与这个项目相关的其他类库或者辅助资源。RAR是一种常见的...
**标题解析:** "obsess-node" 是一个项目,它旨在通过 Raspberry Pi(简称 RPi)使用 Node.js、Express.js 和 Socket.IO 技术来...通过学习这个项目,开发者可以深入了解 IoT、实时通信和服务器端 JavaScript 开发。
节点聊天一个聊天应用程序,旨在展示以下工具的使用:要求需要在项目根目录中创建一个 .env 文件,具有以下属性: NODE_ENV=INSERTVARHERE APP_ID=INSERTVARHERE ACCESS_TOKEN=INSERTVARHERE 其中INSERTVARHERE替换...
飞翔的东西这是无用的代码。 我不知道为什么我什至写了它,但这很有趣。 无论用户点击到哪里,这都是南安普敦(默认)徽标在屏幕... 使用tween.js制作动画,socket.io和node.js。 要运行它,只需执行node server.js 。
TCP套接字(TCP Socket)是网络编程中的一个重要概念,它是基于传输控制协议TCP的应用程序接口,用于在互联网上实现两台计算机之间的可靠通信。在本文中,我们将深入探讨TCP Socket的基本原理、如何封装以及如何在...
dome-client.js 在节点中编写的基于socket.io / websocket的MOO和MUD客户端。关于这是专为游戏提供给玩家的游戏而设计的。 不需要闪光灯。 不需要Java插件。 从最终用户的浏览器到服务器的连接是通过Web套接字到节点...
目前提供asp版下载,.Net版本的负载量更高,不过还在调试中,拖了很长时间了,最近一直忙着学习,没有更新,这里先提供下载。 此外最近一直在研究持续连接技术,也就是所谓的推技术,还有jssocket等企业级的类...