谁能提供一个能用的JAVA的Websocket聊天室

在下载频道下载了N个都不能用,项目能跑起来却提示连接不上,在此求各位dalao给一个能用的JAVA的Websocket聊天室,或者指导下这个项目为啥能跑起来却连接不上http://download.csdn.net/download/wendysunday123/9788097

在线等,挺急的,今天解答的后面追加悬赏50

8个回答

---------------------------------------------------------------------------java :DemoServletTwo
package websocket;

import java.io.IOException;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;

import java.util.concurrent.CopyOnWriteArraySet;

import java.util.concurrent.atomic.AtomicInteger;

import javax.websocket.MessageHandler;
import javax.websocket.OnClose;

import javax.websocket.OnError;

import javax.websocket.OnMessage;

import javax.websocket.OnOpen;

import javax.websocket.Session;

import javax.websocket.server.ServerEndpoint;

import entity.Member;

@ServerEndpoint(value = "/websocket/chat")

public class DemoServletTwo {

//private static final Log log = LogFactory.getLog(ChatAnnotation.class);

private static final String GUEST_PREFIX = "Guest";

private static final AtomicInteger connectionIds = new AtomicInteger(0);

private static final Set connections = new CopyOnWriteArraySet();

private final Member member;

private final String nickname;

private Session session;

public DemoServletTwo() {

member = new Member();
nickname = GUEST_PREFIX + connectionIds.getAndIncrement();

}

//建立连接

@OnOpen

public void start(Session session) {

this.session = session;

connections.add(this);
Map param = session.getPathParameters();
if(param.get("name") != null){
member.setName(param.get("name"));
}
if(param.get("sex") != null){
member.setSex(param.get("sex"));
}

  String message = String.format("* %s %s", nickname, "has joined.");  
  System.out.println(message);  

}

//接受消息

@OnMessage

public void incoming(String message) {

System.out.println(message.toString());

//broadcast(filteredMessage);

broadcast(member.talk(message.toString()));

}

//客户端关闭了连接

@OnClose

public void end() {

connections.remove(this);

String message = String.format("* %s %s", nickname, "has disconnected.");

System.out.println(message);

//broadcast(message);

}

//WebSocket服务出错

@OnError

public void onError(Throwable t) throws Throwable {

//log.error("Chat Error: " + t.toString(), t);

}

private static void broadcast(String msg) {

for (DemoServletTwo client : connections) {

try {

synchronized (client) {

client.session.getBasicRemote().sendText(msg);

}

} catch (IOException e) {

//log.debug("Chat Error: Failed to send message to client", e);

connections.remove(client);

try {

client.session.close();

} catch (IOException e1) {

// Ignore

}

String message = String.format("* %s %s",

client.nickname, "has been disconnected.");

broadcast(message);

}

}

}

}

--------------------------------------------------------------------------------------------config: web.xml
<?xml version="1.0" encoding="UTF-8"?>
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
Archetype Created Web Application

wsServlet
websocket.DemoServlet


wsServlet
/wsServlet


------------------------------------------------------------------------------chat.html
<!DOCTYPE html>



Tomcat WebSocket Chat var ws = new WebSocket("ws://localhost:8080/websocket//websocket/chat"); ws.onopen = function(){ }; ws.onmessage = function(message){ document.getElementById("chatlog").textContent += message.data + "\n"; }; function postToServer(){ ws.send(document.getElementById("msg").value); document.getElementById("msg").value = ""; } function closeConnect(){ ws.close(); }






Send!
End

创建个项目名为:websocket
把这三个文件弄好就能用了

qq_27718453
庄粟 币我收到了,另外你说的不能用是指什么,websocket要比较新的浏览器,我写的这个demo在我同事那打开也跑不了,他的浏览器没更新,希望对你有帮助
2 年多之前 回复
prayeri137
prayeri137 回复庄粟: 诶,这个怎么给币的呀?怎么没自动扣呢?第一次用csdn提问
2 年多之前 回复
prayeri137
prayeri137 你这个不能用,不过感谢你的勤快
2 年多之前 回复
qq_27718453
庄粟 标签没掉了。。。
2 年多之前 回复
playboyanta123
show_code 回复prayeri137: ws://是websocket特有的协议,就跟http://一样,你这报错是后台响应出错啊,我没看到你后台的代码不好说,你再针对这个报错去解决一下应该就ok了
2 年多之前 回复
prayeri137
prayeri137 搞了一个中午,原网址的例子跑起来了,整合到自己项目就报这个错误,想问下'ws://'格式是什么?'ws://本机地址:端口号/项目名/?'
2 年多之前 回复
prayeri137
prayeri137 WebSocket connection to 'ws://127.0.0.1:8080/message' failed: Error during WebSocket handshake: Unexpected response code: 404
2 年多之前 回复

连接不上数据库,那你有这个数据库吗?

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
<display-name>Archetype Created Web Application</display-name>
<servlet>
<servlet-name>wsServlet</servlet-name>
<servlet-class>websocket.DemoServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>wsServlet</servlet-name>
<url-pattern>/wsServlet</url-pattern>
</servlet-mapping>
</web-app>
<!DOCTYPE html>
<html>
<head>
<meta charset=UTF-8>
<title>Tomcat WebSocket Chat</title>
<script>
var ws = new WebSocket("ws://localhost:8080/websocket//websocket/chat");
ws.onopen = function(){
};
ws.onmessage = function(message){
document.getElementById("chatlog").textContent += message.data + "\n";
};
function postToServer(){
ws.send(document.getElementById("msg").value);
document.getElementById("msg").value = "";
}
function closeConnect(){
ws.close();
}
</script>
</head>
<body>
<textarea id="chatlog" readonly></textarea><br/>
<input id="msg" type="text" />
<button type="submit" id="sendButton" onClick="postToServer()">Send!</button>
<button type="submit" id="sendButton" onClick="closeConnect()">End</button>
</body>
</html>

不好意思啊有点乱

图片说明
你这个项目我已经调试好了,这是运行结果,如果需要我发给你,不过你得按照我的配置去做才能成功

hgq0916
奔腾的野马 回复hgq0916: 'ws://127.0.0.1:8080/message是连接的URL地址,ws是websocket协议,后面和一般的项目路径是一样的,message是servlet的URL-pattern,如果有项目名,再加上项目,比如:'ws://127.0.0.1:8080/webSocket/message
2 年多之前 回复
hgq0916
奔腾的野马 我的项目环境是jdk1.7,tomcat7.0,eclipse mars2,要在myeclipse上运行需要修改些东西
2 年多之前 回复

大佬求源码 邮箱jzeran@163.com

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
java websocket 建立一个聊天室
在新建一个聊天室之前我们首先要了解什么是websock以及websocket api的一些常用知识 一、什么是WebSocket ? 在HTML5规范中,我最喜欢的Web技术就是正迅速变得流行的WebSocket API。WebSocket提供了一个受欢迎的技术,以替代我们过去几年一直在用的Ajax技术。这个新的API提供了一个方法,从客户端使用简单的语法有效地推动消息到服务器。一、什么是Web
基于Java的WebSocket的聊天室
HTML5中定义了WebSocket规范,该规范使得能够实现在浏览器端和服务器端通过WebSocket协议进行双向通信,运用Java语言和Tomcat的WebSocket实现作为服务端,实现一个聊天室的搭建。
Java 基于WebSocket聊天室
Java 基于WebSocket简单实现的聊天室功能,只提供功能,页面美化之类的没有去做,仅供大家参考,有优化的部分可以留言通知我一下
java实现websocket聊天室
java实现websocket聊天室(私聊),心跳包
Java webSocket 网页聊天室
webSocket简介webSocket是ajax轮询与long pull方式的改进。ajax轮询:每隔一段时间请求一次,不管有没有新信息;long pull:每次请求之后,等到有新信息才会返回;webSocket:客户端发送一次请求之后,只要有新信息,服务器就会主动把数据推送过去。效果截图参考了网上的例子来实现聊天室,实验楼的那个不错!但是,打开两个页面却不能真正的聊天,后面参考Tomcat下的C
Java WebSocket聊天室 .
Java WebSocket聊天室.人人为我,我为人人
java WebSocket 聊天室 demo
java WebSocket 聊天室 demo
谁能提供聊天室停用辞典?
我正在做聊天室,用户希望有过滤功能,即那些含政治、色情等不宜之语拒绝入库,但我没有相关辞典,哪位大虾能提供?(文本即可,有关键字分开)
WebSocket聊天室
用Codeigniter 编写的WebSocket聊天室。
websocket 聊天室
websocket+html实现的简单聊天室:群聊、列表....
Websocket聊天室
websocket是html5在2011年新发布的新协议,解决了http协议中服务器无法主动给客户端网页发送信息的缺陷。这个程序服务端用c# 语言开发,客户端用js调用服务端,实时双工通信。
websocket聊天室
使用websocket技术实现的网络聊天室,主要功能是实现在登录聊天室之后,在聊天室中群发消息、私发消息等,使用的语言:前端使用的JSP,后端使用的JAVA
webSocket聊天室
webSocket 实现的实时聊天室 支持文字聊天和上下线提醒(多人聊天) jdk版本:1.7 使用tomcat运行,tomcat版本不能低于7
聊天室websocket
聊天室websocket的
Java、WebSocket、HTML简易聊天室
WebSockt协议是一种双向通信的解决方案,减少了频繁建立连接所带来的开销,使得客户端和服务端的通信更加及时。与轮询(polling)和(Comet)技术相比,WebSockt在双端通信上有明显的优势。本文以Java、Tomcat、JavaScript实现双端通信实例。         本文所使用开发环境:Java 1.8.0_45、Tomcat 7.0.53、IDE IntelliJ IDE
Java和WebSocket开发网页聊天室
一、项目简介 WebSocket是HTML5一种新的协议,它实现了浏览器与服务器全双工通信,这里就将使用WebSocket来开发网页聊天室,前端框架会使用AmazeUI,后台使用Java,编辑器使用UMEditor。 二、涉及知识点 网页前端(HTML+CSS+JS)和Java 1. 新建项目 打开Eclipse JavaEE,新建一个名为Chat的Dynamic Web Project...
Java WebSocket开发聊天室实例
Java WebSocket开发聊天室实例,只能用炫酷来形容,感兴趣就下载看看吧
Java WebSocket 多人聊天室Deomo
导入工程运行即可,注意浏览器是否支持websocket.
java实现基于websocket的聊天室
java实现基于websocket的聊天室
实现一个简单的WebSocket聊天室
WebSocket 简介 WebSocket 是 HTML5 开始提供的一种在单个 TCP 连接上进行全双工通讯的协议。 WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 WebSocket API 中,浏览器和服务器只需要完成一次握手,两者之间就直接可以创建持久性的连接,并进行双向数据传输。 在 WebSocket API 中,浏览器和服务器...
谁能提供个无刷新聊天室的源代码?
有谁能够提供个无刷新聊天室的源代码给我呀?最好要有详细的说明哦!我把全部的分数都给他(她),最好说明要详细一点哦,越详细越好哦~~~~
使用webSocket实现聊天室
功能: 1、登录(使用LoginServlet实现) 2、群聊(使用webSocket实现) 3、退出(使用LogoutServlet实现)
mvc websocket 聊天室功能
websocket webapi 聊天室功能示范,系统群发功能,定时群发
websocket实现简单的聊天室
1创建一个maven工程2页面代码(index.jsp)3java代码(ChatroomServlet.java)4功能实现Guest 0 加入 Guest 1 加入 并聊天 Guest 1 退出
websocket实现简单聊天室
1. websocket 这篇博主写的比较清楚: https://www.cnblogs.com/jingmoxukong/p/7755643.html 1. 客户端实现 (1)先画一个简单页面 &amp;lt;!DOCTYPE html&amp;gt; &amp;lt;html&amp;gt; &amp;lt;head&amp;gt; &amp;lt;meta charset=&quot;utf-8&quot;&amp;gt; &amp;lt;/head&amp;gt; &amp;lt;body&am
webSocket简单聊天室(Java_Demo)
Java端(服务器端代码),注意Tomcat的版本。Tomcat从7.0.27开始支持WebSocket,从7.0.47开始支持JSR-356。下面的代码也必须运行在Tomcat7.0.27以上的版本。//该注解用来指定一个URI,客户端可以通过这个URI来连接到WebSocket。类似Servlet的注解mapping。无需在web.xml中配置。 @ServerEndpoint("/webSoc
WebSocket .net聊天室源代码
web聊天室,.net 开发,无需修改任何代码,搭建完成局域网或者万网都能够使用
WebSocket编写的简单聊天室
java包什么的都在里面,eclipse写的,tomcat要求在7以上吧。没认真写,有些地方不太完美,可以自己美化。
WebSocket实现简单聊天室
看了之前的文章,想必大家对WebSocket的原理已经有了一个深入的理解,这一篇文章我们来看一下具体该如何去使用它。 这里,我用nodejs-websocket实现一个简单的多人聊天室,从这个小案例中来学会使用WebSocket。 nodejs-websocket用法参见官方api: https://www.npmjs.com/package/nodejs-websocket 服务器端: //安装...
websocket - 实时聊天室
手把手教大家实现实时聊天室 首先:下载nodeJS然后通过express 搭建本地环境; 功能:实时侦听用户接入或断开并某一用户发送信息时其他用户能即是看见的聊天室 原理:先搭建服务器域,然后客户端访问该域时服务端返回各类信息; 注意: 服务端     发送obj内信息给所有人(含自身)     socket.emit( 'message' ,
WebSocket聊天室的实现
资源: Ratchet - WebSockets for PHP (http://socketo.me) Web Socket Chat - Online chat based on web sockets and ratchet php (https://github.com/joni-jones/yii2-wschat) 使用Nginx反向代理Websoc
多人聊天室,websocket实现
http://121.40.140.41/erhuluanzi/playrn自己写的一个简单的多人聊天室,后台使用的java,前端使用了websocket技术,所以低版本的浏览器应该是不支持的rn欢迎大家上去玩玩
基于websocket的聊天室
基于websocket的聊天室。可同时支持多人在线聊天。
websocket聊天室demo
基于websocket的聊天室,代码绝对纯手工敲的,非网上粘贴,在ie11和火狐、谷歌浏览器上测试过正常运行
C# WebSocket 聊天室_后端
Angular5 WebSocket 聊天室页面。 1,群聊。 2,在线用户列表。 3,聊天记录存储。
WebSocket聊天室(Spring)
spring MVC框架中搭建WebSocket 功能,实现多用户同时登录聊天室,支持群发和指定用户聊天功能
网络编程 websocket聊天室demo
        通过websocket实现聊天室主要是将消息进行广播,把消息发送给其他的用户会话中去,通过消息推送,推送到每一个session里面去。         通过一个静态共享变量如List获取所有的session通道,然后遍历这个List,把消息广播出去。 public void broadcast(List&amp;lt;Session&amp;gt; sessions,String msg) ...
基于WebSocket的web聊天室
基于Web Socket的web聊天室 一:题目描述 WebSocket是HTML5新增加的一种通信协议,可以实现Tomcat服务器与各大浏览器之间的全双工通信;本作品的私聊与群聊功能的实现,都是基于WebSocket协议; 二:作品功能描述 在登录页面上,输入自己的用户名与密码,登录验证成功后即可进入聊天页面。如果用户还没有账号,便可点击新用户注册;注册完成后,便可进入登录界面;登录验证...
Node.js之WebSocket编写聊天室
1.1 为什么我们需要WebSocket这样的实时的通信协议? WebSocket是web通信方式的一种,像我们熟知的HTTP协议也是web通信方式的一种。但是我们知道HTTP协议是一种无状态的协议,其服务端本身不具备识别客户端的能力,必须借助外部的一些信息比如说session和cookie,才能与特定的客户端保持通信。也就是说我们所发送的每一个HTTP的请求都会带上请求头中一些相应的信息还有co...
websocket实现聊天室等功能
最近有做一个h5项目,有如下场景需求: 1.实现实时聊天。 2.多人登录,有一个教师角色可控制其他角色用户的视频播放(播放,暂停,快进)。 最初考虑视频控制的实现方向是推流,但是由于没有接触过这方面,着实头疼了一阵。最后,经过一夜梦中思考,次日上午,采用指令的方式实现对视频的控制。 是不是听着很高大上?其实很简单,以上两个功能都是通过onmessage函数实现,将教师端的页面加上监控视频的事
相关热词 c# 标准差 计算 c#siki第五季 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池