首页

websocket 聊天室 示例源码下载

java

2020-7-17

我使用的是tomcat7,,如果是启动过程中,出现了org.apache.catalina.deploy.WebXml addServlet 这样的错误,
解决办法为:
在Tomacat7的context.xml文件里的<Context>中加上 <Loader delegate=”true” />

重新启动,即可解决。

 

同时,我本地tomcat端口为80,,则,你需要将websocket.js中的第 105 行的URL端口,修改成你此时的tomcat端口。否则,无法正常连接服务器。

package com.ibcio;

import java.io.IOException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;

import net.sf.json.JSONObject;

import org.apache.catalina.websocket.MessageInbound;
import org.apache.catalina.websocket.WsOutbound;

public class WebSocketMessageInbound extends MessageInbound {

	//当前连接的用户名称
	private final String user;

	public WebSocketMessageInbound(String user) {
		this.user = user;
	}

	public String getUser() {
		return this.user;
	}

	//建立连接的触发的事件
	@Override
	protected void onOpen(WsOutbound outbound) {
		// 触发连接事件,在连接池中添加连接
		JSONObject result = new JSONObject();
		result.element("type", "user_join");
		result.element("user", this.user);
		//向所有在线用户推送当前用户上线的消息
		WebSocketMessageInboundPool.sendMessage(result.toString());
		
		result = new JSONObject();
		result.element("type", "get_online_user");
		result.element("list", WebSocketMessageInboundPool.getOnlineUser());
		//向连接池添加当前的连接对象
		WebSocketMessageInboundPool.addMessageInbound(this);
		//向当前连接发送当前在线用户的列表
		WebSocketMessageInboundPool.sendMessageToUser(this.user, result.toString());
	}

	@Override
	protected void onClose(int status) {
		// 触发关闭事件,在连接池中移除连接
		WebSocketMessageInboundPool.removeMessageInbound(this);
		JSONObject result = new JSONObject();
		result.element("type", "user_leave");
		result.element("user", this.user);
		//向在线用户发送当前用户退出的消息
		WebSocketMessageInboundPool.sendMessage(result.toString());
	}

	@Override
	protected void onBinaryMessage(ByteBuffer message) throws IOException {
		throw new UnsupportedOperationException("Binary message not supported.");
	}

	//客户端发送消息到服务器时触发事件
	@Override
	protected void onTextMessage(CharBuffer message) throws IOException {
		//向所有在线用户发送消息
		WebSocketMessageInboundPool.sendMessage(message.toString());
	}
}
资源下载此资源下载价格为3D币(VIP免费),请先
资源文件列表
.mymetadata , 300
.project , 1752
.settings/.jsdtscope , 500
.settings/org.eclipse.core.resources.prefs , 57
.settings/org.eclipse.jdt.core.prefs , 670
.settings/org.eclipse.wst.common.component , 465
.settings/org.eclipse.wst.common.project.facet.core.xml , 252
.settings/org.eclipse.wst.jsdt.ui.superType.container , 49
.settings/org.eclipse.wst.jsdt.ui.superType.name , 6
src/com/ibcio/WebSocketMessageInbound.java , 2117
src/com/ibcio/WebSocketMessageInboundPool.java , 1868
src/com/ibcio/WebSocketMessageServlet.java , 940
WebRoot/css/websocket.css , 956
WebRoot/ext4/ext-all-debug.js , 2945261
WebRoot/ext4/locale/ext-lang-zh_CN.js , 8796
WebRoot/ext4/resources/css/ext-all-access-debug.css , 372714
WebRoot/ext4/resources/css/ext-all-access.css , 223055
WebRoot/ext4/resources/css/ext-all-debug.css , 393494
WebRoot/ext4/resources/css/ext-all-gray-debug.css , 383309
WebRoot/ext4/resources/css/ext-all-gray.css , 229754
WebRoot/ext4/resources/css/ext-all-scoped-debug.css , 434047
WebRoot/ext4/resources/css/ext-all-scoped.css , 262881
WebRoot/ext4/resources/css/ext-all.css , 239364
WebRoot/ext4/resources/css/ext-ie-debug.css , 361975
WebRoot/ext4/resources/css/ext-ie-scoped-debug.css , 401222
WebRoot/ext4/resources/css/ext-ie-scoped.css , 235148
WebRoot/ext4/resources/css/ext-ie.css , 211730
WebRoot/ext4/resources/css/ext-neptune-debug.css , 539018
WebRoot/ext4/resources/css/ext-neptune.css , 539018
WebRoot/ext4/resources/css/ext-sandbox-debug.css , 398273
WebRoot/ext4/resources/css/ext-sandbox.css , 244152
WebRoot/ext4/resources/css/ext-standard-debug.css , 288149
WebRoot/ext4/resources/css/ext-standard-scoped-debug.css , 317337
WebRoot/ext4/resources/css/ext-standard-scoped.css , 178144
WebRoot/ext4/resources/css/ext-standard.css , 162080
WebRoot/ext4/resources/sass/config.rb , 1007
WebRoot/ext4/resources/sass/ext-all-access.scss , 6467
WebRoot/ext4/resources/sass/ext-all-gray.scss , 4269
WebRoot/ext4/resources/sass/ext-all-scoped.scss , 91
WebRoot/ext4/resources/sass/ext-all.scss , 46
WebRoot/ext4/resources/sass/ext-ie-scoped.scss , 280
WebRoot/ext4/resources/sass/ext-ie.scss , 255
WebRoot/ext4/resources/sass/ext-neptune.scss , 49
WebRoot/ext4/resources/sass/ext-sandbox.scss , 63
WebRoot/ext4/resources/sass/ext-standard-scoped.scss , 276
WebRoot/ext4/resources/sass/ext-standard.scss , 251
WebRoot/ext4/resources/themes/compass_init.rb , 227
WebRoot/ext4/resources/themes/images/access/boundlist/trigger-arrow.png , 2869
WebRoot/ext4/resources/themes/images/access/box/corners-blue.gif , 1010
WebRoot/ext4/resources/themes/images/access/box/corners.gif , 1005
WebRoot/ext4/resources/themes/images/access/box/l-blue.gif , 810
WebRoot/ext4/resources/themes/images/access/box/l.gif , 810
WebRoot/ext4/resources/themes/images/access/box/r-blue.gif , 810
WebRoot/ext4/resources/themes/images/access/box/r.gif , 810
WebRoot/ext4/resources/themes/images/access/box/tb-blue.gif , 843
WebRoot/ext4/resources/themes/images/access/box/tb.gif , 839
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-default-framed-corners.gif , 1594
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-default-framed-notitle-corners.gif , 1594
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-default-framed-notitle-sides.gif , 1625
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-default-framed-sides.gif , 1633
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-framed-corners.gif , 1627
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-framed-notitle-corners.gif , 1624
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-framed-notitle-sides.gif , 1651
WebRoot/ext4/resources/themes/images/access/btn-group/btn-group-framed-sides.gif , 1687
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-bg.gif , 1854
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-corners.gif , 1615
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-disabled-bg.gif , 1825
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-disabled-corners.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-disabled-sides.gif , 1923
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-focus-bg.gif , 1868
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-focus-corners.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-focus-sides.gif , 1952
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-over-bg.gif , 1868
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-over-corners.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-over-sides.gif , 1952
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-pressed-bg.gif , 1855
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-pressed-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-pressed-sides.gif , 1947
WebRoot/ext4/resources/themes/images/access/btn/btn-default-large-sides.gif , 1938
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-bg.gif , 1831
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-corners.gif , 1615
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-disabled-bg.gif , 1809
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-disabled-corners.gif , 1618
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-disabled-sides.gif , 1907
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-focus-bg.gif , 1847
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-focus-corners.gif , 1624
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-focus-sides.gif , 1929
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-over-bg.gif , 1847
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-over-corners.gif , 1624
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-over-sides.gif , 1929
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-pressed-bg.gif , 1835
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-pressed-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-pressed-sides.gif , 1927
WebRoot/ext4/resources/themes/images/access/btn/btn-default-medium-sides.gif , 1913
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-bg.gif , 1814
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-corners.gif , 1615
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-disabled-bg.gif , 1793
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-disabled-corners.gif , 1618
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-disabled-sides.gif , 1887
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-focus-bg.gif , 1817
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-focus-corners.gif , 1624
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-focus-sides.gif , 1897
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-over-bg.gif , 1817
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-over-corners.gif , 1624
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-over-sides.gif , 1897
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-pressed-bg.gif , 1813
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-pressed-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-pressed-sides.gif , 1897
WebRoot/ext4/resources/themes/images/access/btn/btn-default-small-sides.gif , 1895
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-disabled-sides.gif , 1596
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-focus-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-focus-sides.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-over-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-over-sides.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-pressed-corners.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-pressed-sides.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-large-sides.gif , 1596
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-disabled-sides.gif , 1594
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-corners.gif , 1621
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-focus-sides.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-over-corners.gif , 1621
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-over-sides.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-pressed-corners.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-pressed-sides.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-medium-sides.gif , 1594
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-disabled-sides.gif , 1591
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-focus-corners.gif , 1621
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-focus-sides.gif , 1607
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-over-corners.gif , 1621
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-over-sides.gif , 1607
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-pressed-corners.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-pressed-sides.gif , 1607
WebRoot/ext4/resources/themes/images/access/btn/btn-default-toolbar-small-sides.gif , 1591
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-disabled-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-disabled-sides.gif , 1596
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-focus-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-focus-sides.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-over-corners.gif , 1620
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-over-sides.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-pressed-corners.gif , 1616
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-pressed-sides.gif , 1623
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-large-sides.gif , 1596
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-medium-corners.gif , 1585
WebRoot/ext4/resources/themes/images/access/btn/btn-toolbar-medium-disabled-corners.gif , 1585
最多只能显示150条信息!
没有账号? 忘记密码?

社交账号快速登录