java 一对多 socket_js作为websocket client,服务用java 点对点、一对多聊天
js作为websocket client,服务用java 点对点、一对多聊天
今天就分享前端的websokcet处理
websocket处理就是一个客服端和服务端之间的长连接
聊天室
#message {
margin-top: 20px;
border: 1px solid gray;
padding: 20px;
}
昵称:
连接WebSocket
断开连接
消息:
频道号
发送消息
//连接对象.
var websocke = null;
var nickname = null;
var uid = null;
function conectWebSocket() {
nickname = document.getElementById("nickname").value;
if (nickname == '') {
alert("请输入昵称");
return;
}
//判断当前的浏览器是否支持websocket.
if ("WebSocket" in window) {
uid = "sdaaaaaaaaaaaaaaaaaaaaaaaaa";
websocket = new WebSocket("ws://localhost:8080/websocket/" + nickname + "/" + uid);
} else {
alert("Not support websocket");
return false;
}
//连接成功的方法.
websocket.onopen = function(event) {
setMessgeHtml("Loc MSG:已连接");
}
//连接关闭.
websocket.onclose = function(event) {
// aler
setMessgeHtml("Loc MSG:连接关闭");
}
//连接异常.
websocket.onerror = function(event) {
setMessgeHtml("Loc MSG:连接异常");
}
websocket.onmessage = function(event) {
console.log("fallback :", event);
setMessgeHtml(event.data);
}
} //conectWebSocket
var single = (function() {
return {
getInstance: function() {
if (websocke != null && websocke.readyState == 1) {
console.log("wlx-------------------" + websocke.readyState)
setMessgeHtml("Loc MSG:不能重复连接!");
return websocke
} else {
websocket = null
nickname = document.getElementById("nickname").value;
if (nickname == '') {
alert("请输入昵称");
return;
}
//判断当前的浏览器是否支持websocket.
if ("WebSocket" in window) {
uid = "sdaaaaaaaaaaaaaaaaaaaaaaaaa";
websocket = new WebSocket("ws://localhost:8080/websocket/" + nickname + "/" + uid);
} else {
alert("Not support websocket");
return false;
}
//连接成功的方法.
websocket.onopen = function(event) {
setMessgeHtml("Loc MSG:已连接");
}
//连接关闭.
websocket.onclose = function(event) {
// aler
setMessgeHtml("Loc MSG:连接关闭");
}
//连接异常.
websocket.onerror = function(event) {
setMessgeHtml("Loc MSG:连接异常");
}
websocket.onmessage = function(event) {
console.log("fallback :", event);
setMessgeHtml(event.data);
}
return websocket;
} //conectWebSocket
}
}
})();
function initws() {
websocke = single.getInstance()
}
function setMessgeHtml(msg) {
var message = document.getElementById("message");
message.innerHTML += msg + "
";
}
function closeWebSocket() {
websocke.close();
}
/**
发送消息.
*/
function send() {
var message = document.getElementById("text").value;
var toUser = document.getElementById("toUser").value;
var socketMsg = {
msg: message,
toUser: toUser
};
if (toUser == '') {
socketMsg.type = 0; //群聊.
} else {
socketMsg.type = 1; //单聊.
}
console.log("发送的是:", socketMsg);
console.log("连接状态:", websocke.readyState);
//websocket.send(nickname+":"+message);
websocke.send(JSON.stringify(socketMsg)); //将json对象转换为json字符串.
}
websocket 要使用js单例模式,避免点击一个连接的在发送消息的时候会收到两个一样的文件
ps: 服务端代码有需求未完善,稍后分享
java 一对多 socket_js作为websocket client,服务用java 点对点、一对多聊天相关推荐
- js作为websocket client,服务用java 点对点、一对多聊天
js作为websocket client,服务用java 点对点.一对多聊天 今天就分享前端的websokcet处理 websocket处理就是一个客服端和服务端之间的长连接 <!DOCTYPE ...
- android java websocket client_websocket服务端,android客户端示例
服务端库依赖详见章末 #####spring websocket服务端代码(会话过程) public class HandshakeInterceptor extends HttpSessionHan ...
- java websocket client,java基础面试笔试题
我总结出了很多互联网公司的面试题及答案,并整理成了文档,以及各种学习的进阶学习资料,免费分享给大家. 扫描二维码或搜索下图红色VX号,加VX好友,拉你进[程序员面试学习交流群]免费领取.也欢迎各位一起 ...
- java websocket 实现_JAVA (Tomcat服务器)使用WebSocket实现服务端与HTML前端通信
在一个项目中要使用WebSocket技术来实现服务器与浏览器实时通信交互,在网上也找了许多资料.为了防止以后忘记具体的使用过程,下面我把自己的使用过程和方法记录下来方便自己以后使用. 项目背景: 基于 ...
- springboot+websocket实现服务端、客户端
一.引言 小编最近一直在使用springboot框架开发项目,毕竟现在很多公司都在采用此框架,之后小编也会陆续写关于springboot开发常用功能的文章. 什么场景下会要使用到websocket的呢 ...
- java js websocket_java js实现Websocket通讯实例
本文主要介绍如何使用java实现websocket server,以及使用java.js生成websocket client进行通讯交互 1.java所需jar包 javax.websocket ja ...
- ssm配置socket_ssm框架中集成websocket实现服务端主动向客户端发送消息
找了很多配置文档及实例说明,也还是没能成功,最终在csdn博客中发现了基于stomp的消息推送的文章, 下面整理自csdn博客,https://blog.csdn.net/u013627689/art ...
- ssl java 客户端_Java SSL生成客户端和服务端crt文件
简述: SSL(百度百科) Secure Socket Layer 安全套接层, 是为网络通信提供安全以及数据完整性的一种安全协议,在传输层对网络连接进行加密 SSL协议分为两层: 1)SSL记录协议 ...
- 使用HTML5的WebSocket实现服务端和客户端数据通信(有演示和源码)
WebSocket协议是基于TCP的一种新的网络协议.WebSocket是HTML5开始提供的一种浏览器与服务器间进行全双工通讯的网络技术.依靠这种技术可以实现客户端和服务器端的长连接,双向实时通信. ...
最新文章
- 前后端分离的接口规范
- 由浅入深CIL系列【目录索引】+ PostSharp AOP编程【目录索引】
- 使用memcache缓存
- imgkit分辨率_pythonhtml2image: imgkit 和 wkhtmltoimage的坑
- threadlocal存连接对象的目的_终于懂了ThreadLocal,不再害怕面试官问了
- 计算机视觉论文-2021-06-18
- 项目经验少的怎么社招_想创业,但资金少,不知如何找项目?看看这些经验,你就知道了...
- 十六进制高低位转换,返回十进制数
- java 栈泛型_使用泛型实现栈结构
- 数据库之间的远程操作
- 有趣的JavaScript数组
- android mvp快速创建,学习MVPArms历程之Android Studio快速创建ArmsComponent组件化项目
- QT设置选中的文字加下划线
- 冷山的博客思听书摘索引页
- 那些值得借鉴的的国外创意404错误页面设计
- 【金三银四】一个问题就知道你会不会CSS了
- word文档保存的时候,就会出现“文件许可权错误,word 无法完成保存文件”的提示
- Git关联多个远程仓库
- PTA 数据结构与算法 7-29 修理牧场
- 为什么交叉熵可以用来当损失?与MMD的区别?
热门文章
- 企业即时通讯设计理念及实现代码
- 通过怒气系统的hongjin2
- 精品书籍-go go go
- 程序员是如何评价“双十一”的?
- 怎么样才能学好java_单人拉丁舞应该怎么样才能学好?初学者需要做到的4点要求...
- python with open 循环建立指定名字文件_Python基础——文件
- githup用户名密码怎么看_MacBook Pro 开机密码忘记解决方法
- PDX模型不靠谱,土豪来发resource;细菌帮助癌转移,诺奖发现被推翻
- 圣诞素材ae模板-圣诞节日聚会派对视频素材ae模板
- java面试 泛型_Java面试题五:Java 的泛型, super T 和 extends T 的区别