websocket
2015-11-13 09:04
260 查看
packagecom.byteslounge.websockets;
importjava.io.IOException;
importjavax.websocket.OnClose;
importjavax.websocket.OnMessage;
importjavax.websocket.OnOpen;
importjavax.websocket.Session;
importjavax.websocket.server.ServerEndpoint;
@ServerEndpoint("/websocket")
publicclassWebSocketTest{
@OnMessage
publicvoidonMessage(Stringmessage,Sessionsession)
throwsIOException,InterruptedException{
//Printtheclientmessagefortestingpurposes
System.out.println("Received:"+message);
//Sendthefirstmessagetotheclient
session.getBasicRemote().sendText("Thisisthefirstservermessage");
//Send3messagestotheclientevery5seconds
intsentMessages=0;
while(sentMessages<3){
Thread.sleep(5000);
session.getBasicRemote().
sendText("Thisisanintermediateservermessage.Count:"
+sentMessages);
sentMessages++;
}
//Sendafinalmessagetotheclient
session.getBasicRemote().sendText("Thisisthelastservermessage");
}
@OnOpen
publicvoidonOpen(){
System.out.println("Clientconnected");
}
@OnClose
publicvoidonClose(){
System.out.println("Connectionclosed");
}
}
[/code]客户端代码:
varwebSocket=
newWebSocket('ws://localhost:8080/byteslounge/websocket');
webSocket.onerror=function(event){
onError(event)
};
webSocket.onopen=function(event){
onOpen(event)
};
webSocket.onmessage=function(event){
onMessage(event)
};
functiononMessage(event){
document.getElementById('messages').innerHTML
+='<br/>'+event.data;
}
functiononOpen(event){
document.getElementById('messages').innerHTML
='Connectionestablished';
}
functiononError(event){
alert(event.data);
}
functionstart(){
webSocket.send('hello');
returnfalse;
}
[/code]
相关文章推荐
- [国嵌攻略][054][NandFlash驱动设计_写]
- Maven 项目打包需要注意到的那点事儿
- sql2005查询字段名和说明
- 华为OJ题目(五):字符串最后一个单词的长度
- Linux性能评测工具之一:gprof篇
- JDK的具体安装
- Mysql配置及基础
- 导出到excel表格
- result cannot be resolved or is not a field
- 远程硬盘资源监控通用脚本
- 华为OJ题目(四):字符逆序
- (4.2)uboot详解——外部中断(GPIO)
- android 9path教程与去黑边
- 如何高效检查一个数组中是否包含某个值
- 第十一周项目1——二叉树算法验证(3)
- Yii出现“You are not authorized to perform this action.”的解决方法
- Foundation——结构体
- (转)java判断string变量是否是数字的六种方法小结
- C++ Builder 如何获取数据类型的PTypeInfo
- Jquery promise实现一张一张加载图片