websocket,使用tomcat7转发

前篇:
[url]http://haoningabc.iteye.com/blog/2011985[/url]
代码的git地址
[url]https://github.com/killinux/mysocket/tree/master/websocket/project/tomcat7servlet[/url]


如果是使用tomcat7的模式
1.html是客户端
2.tomcat7的servlet对websocket协议进行了封装,里面转发给普通的socket服务端
3.普通的socket 作为服务端


html ----->tomcat7,servlet----->socket server


这里纯js的客户端:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
var ws = null;
function startServer() {
var url = "ws://192.168.0.102:5000";
if ('WebSocket' in window) {
ws = new WebSocket(url);
} else if ('MozWebSocket' in window) {
ws = new MozWebSocket(url);
} else {
alert('浏览器不支持');
return;
}
ws.onopen = function() {
alert('Opened!');
};
// 收到服务器发送的文本消息, event.data表示文本内容
ws.onmessage = function(event) {
alert('Receive message: ' + event.data);
};
ws.onclose = function() {
alert('Closed!');
}
}
//发送信息
function sendMessage(){
var textMessage=document.getElementById("textMessage").value;

if(ws!=null&&textMessage!=""){
ws.send(textMessage);

}
}
</script>
<body onload="startServer()">
<input type="text" id="textMessage" size="20" />
<input type="button" onclick="sendMessage()" value="Send">
</body>
</html>


如果是用java-websocket,

git为 https://github.com/killinux/Java-WebSocket
代码如下:
socket server端:

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static final int PORT = 5000;
public static void main(String[] args) {
System.out.println("服务器...\n");
Server ser = new Server();
ser.sock();
}
public void sock() {
try {
ServerSocket server = new ServerSocket(PORT);
while (true) {
// 一旦有堵塞, 则表示服务器与客户端获得了连接
Socket client = server.accept();
// 处理这次连接
new PServer(client);
}
} catch (Exception e) {
System.out.println("服务器异常: " + e.getMessage());
}
}

private class PServer implements Runnable {
private Socket socket;
public PServer(Socket sock) {
socket = sock;
new Thread(this).start();
}
public void run() {
System.out.println("一个客户端连接ip:" + socket.getInetAddress());
try {
// 读取客户端数据
DataInputStream input = new DataInputStream(
socket.getInputStream());
// 向客户端发送数据
DataOutputStream out = new DataOutputStream(
socket.getOutputStream());
// 读取客户端数据
//System.out.println("客户端发过来的内容: " + input.readUTF());
byte[] bt = new byte[1024];
int leng = input.read(bt);
System.out.println(new String(bt, 0, leng));
// 发送键盘输入的一行
// String s = new BufferedReader(new
// InputStreamReader(System.in)).readLine();
String s = "server d shu ru";
out.write(s.getBytes());
out.flush();
input.close();
out.close();
socket.close();
} catch (Exception e) {
System.out.println("服务器 run 异常: " + e.getMessage());
}
}

}

}

----------------------------------------------------------------------
----------------------------------------------------------------------
[b]如果server是用tomcat转发[/b]
参考
http://blog.youkuaiyun.com/a79412906/article/details/9393515
servlet:

package com.hao;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;

import javax.servlet.http.HttpServletRequest;

import org.apache.catalina.websocket.MessageInbound;
import org.apache.catalina.websocket.StreamInbound;
import org.apache.catalina.websocket.WebSocketServlet;

public class HelloWorldWebSocketServlet extends WebSocketServlet {

protected StreamInbound createWebSocketInbound(String subProtocol,HttpServletRequest arg1) {

return new MessageInbound() {

@Override
protected void onBinaryMessage(ByteBuffer arg0) throws IOException {
// TODO Auto-generated method stub

}

@Override
protected void onTextMessage(CharBuffer message) throws IOException {
// TODO Auto-generated method stub
System.out.println("onText--->" + message.toString());
Socket socket;
String msg = "";
try {
// 向服务器利用Socket发送信息
socket = new Socket("192.168.1.102", 5000);
//socket = new Socket("127.0.0.1",5000);
PrintWriter output = new PrintWriter(
socket.getOutputStream());

output.write(message.toString());
output.flush();

// 这里是接收到Server的信息
DataInputStream input = new DataInputStream(
socket.getInputStream());
byte[] b = new byte[1024];
input.read(b);
// Server返回的信息
msg = new String(b).trim();

output.close();
input.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 往浏览器发送信息
CharBuffer cb = CharBuffer.wrap(new StringBuilder(msg));
getWsOutbound().writeTextMessage(cb);
}
};
}

public static void main(String[] args) {
Socket socket;
String message ="haoning";
String msg = "";
try {
// 向服务器利用Socket发送信息
socket = new Socket("192.168.0.102", 5000);
// socket = new Socket("127.0.0.1",5000);
PrintWriter output = new PrintWriter(
socket.getOutputStream());

output.write(message.toString());
output.flush();

// 这里是接收到Server的信息
DataInputStream input = new DataInputStream(
socket.getInputStream());
byte[] b = new byte[1024];
input.read(b);
// Server返回的信息
msg = new String(b).trim();

output.close();
input.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


web.xml配置:

<servlet>
<servlet-name>wsSnake</servlet-name>
<servlet-class>com.hao.HelloWorldWebSocketServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>wsSnake</servlet-name>
<url-pattern>/websocket/test</url-pattern>
</servlet-mapping>

tomcat7的
配置

<?xml version='1.0' encoding='utf-8'?>
<Context crossContext="true" docBase="D:/workspace/work1/Test/webapp" path="/webs" reloadable="true">
</Context>

中心server代码:

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static final int PORT = 5000;
public static void main(String[] args) {
System.out.println("服务器...\n");
Server ser = new Server();
ser.sock();
}
public void sock() {
try {
ServerSocket server = new ServerSocket(PORT);
while (true) {
// 一旦有堵塞, 则表示服务器与客户端获得了连接
Socket client = server.accept();
System.out.println("server accept");
// 处理这次连接
new PServer(client);
}
} catch (Exception e) {
System.out.println("服务器异常: " + e.getMessage());
}
}

private class PServer implements Runnable {
private Socket socket;
public PServer(Socket sock) {
socket = sock;
new Thread(this).start();
}
public void run() {
System.out.println("一个客户端连接ip:" + socket.getInetAddress());
try {
// 读取客户端数据
DataInputStream input = new DataInputStream(
socket.getInputStream());
// 向客户端发送数据
DataOutputStream out = new DataOutputStream(
socket.getOutputStream());
// 读取客户端数据
//System.out.println("客户端发过来的内容: " + input.readUTF());
byte[] bt = new byte[1024];
int leng = input.read(bt);
System.out.println(new String(bt, 0, leng));
// 发送键盘输入的一行
// String s = new BufferedReader(new
// InputStreamReader(System.in)).readLine();
String s = "server d shu ru";
out.write(s.getBytes());
out.flush();
input.close();
out.close();
socket.close();
} catch (Exception e) {
System.out.println("服务器 run 异常: " + e.getMessage());
}
}

}

}


客户端改进如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Insert title here</title>
</head>
<script type="text/javascript">
var ws = null;
function log(text) {
document.getElementById("log").innerHTML = (new Date).getTime() + ": " + text +"<br>"+ document.getElementById("log").innerHTML;
}
function startServer() {
var url = document.getElementById("serverip").value;// "ws://192.168.0.102:8887";
if ('WebSocket' in window) {
ws = new WebSocket(url);
} else if ('MozWebSocket' in window) {
ws = new MozWebSocket(url);
} else {
alert('浏览器不支持');
return;
}
ws.onopen = function() {
alert('Opened!');
};
// 收到服务器发送的文本消息, event.data表示文本内容
ws.onmessage = function(event) {
//alert('Receive message: ' + event.data);
log('Receive message: ' + event.data);
};
ws.onclose = function() {
alert('Closed!');
}
document.getElementById("conbtn").disabled="true";
document.getElementById("stopbtn").removeAttribute('disabled');
}
//发送信息
function sendMessage(){
var textMessage=document.getElementById("textMessage").value;

if(ws!=null&&textMessage!=""){
ws.send(textMessage);

}
}
function stopconn(){
ws.close();
document.getElementById("conbtn").removeAttribute('disabled');
document.getElementById("stopbtn").disabled="true";
}
</script>
<body onload="">
<input id="serverip" type="text" size="20" value="ws://192.168.0.102:8887"/>
<input id="conbtn" type="button" onclick="startServer()" value="open" />
<input id="stopbtn" type="button" onclick="stopconn()" value="stop" disabled="disabled"/>
</br>
<input id="textMessage" type="text" size="20" />
<input type="button" onclick="sendMessage()" value="Send">
<div id="log"></div>
</body>
</html>



servlet中发现,不能广播,只能单纯的返回,如果想每个浏览器都受到消息,则修改如下

package com.hao;

import java.io.DataInputStream;
import java.io.IOException;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.nio.ByteBuffer;
import java.nio.CharBuffer;
import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;

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

public class HelloWorldWebSocketServlet extends WebSocketServlet {
private static ArrayList mmiList = new ArrayList();

protected StreamInbound createWebSocketInbound(String subProtocol,
HttpServletRequest arg1) {
return new MyMessageInbound();
}

private class MyMessageInbound extends MessageInbound {
WsOutbound myoutbound;

@Override
public void onOpen(WsOutbound outbound) {
try {
System.out.println("Open Client.");
this.myoutbound = outbound;
mmiList .add(this);
outbound.writeTextMessage(CharBuffer.wrap("Hello!"));
} catch (IOException e) {
e.printStackTrace();
}
}

@Override
public void onClose(int status) {
System.out.println("Close Client.");
mmiList .remove(this);
}

@Override
protected void onBinaryMessage(ByteBuffer arg0) throws IOException {
// TODO Auto-generated method stub

}

@Override
protected void onTextMessage(CharBuffer message) throws IOException {
// TODO Auto-generated method stub
System.out.println("onText--->" + message.toString());
for (int i=0;i< mmiList.size();i++ ) {
MyMessageInbound mmib = (MyMessageInbound) mmiList.get(i);
CharBuffer buffer = CharBuffer.wrap(message);
mmib.myoutbound.writeTextMessage(buffer);
mmib.myoutbound.flush();
}

/*Socket socket;
String msg = "";
try {
// 向服务器利用Socket发送信息
socket = new Socket("192.168.0.102", 5000);
// socket = new Socket("127.0.0.1",5000);
PrintWriter output = new PrintWriter(socket.getOutputStream());

output.write(message.toString());
output.flush();

// 这里是接收到Server的信息
DataInputStream input = new DataInputStream(
socket.getInputStream());
byte[] b = new byte[1024];
input.read(b);
// Server返回的信息
msg = new String(b).trim();

output.close();
input.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
// 往浏览器发送信息
CharBuffer cb = CharBuffer.wrap(new StringBuilder(msg));
getWsOutbound().writeTextMessage(cb);*/
}
}

public static void main(String[] args) {
Socket socket;
String message = "haoning";
String msg = "";
try {
// 向服务器利用Socket发送信息
socket = new Socket("192.168.0.102", 5000);
// socket = new Socket("127.0.0.1",5000);
PrintWriter output = new PrintWriter(socket.getOutputStream());

output.write(message.toString());
output.flush();

// 这里是接收到Server的信息
DataInputStream input = new DataInputStream(socket.getInputStream());
byte[] b = new byte[1024];
input.read(b);
// Server返回的信息
msg = new String(b).trim();

output.close();
input.close();
socket.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}


这段参考
http://blog.fens.me/java-websocket-intro/
HTML5基于Tomcat 7.0实现WebSocket连接并实现简单的实时聊天 1、什么是WebSocket? WebSocket 是一种自然的全双工、双向、单套接字连接。使用WebSocket,你的HTTP 请求变成打开WebSocket 连接(WebSocket 或者WebSocket over TLS(TransportLayer Security,传输层安全性,原称“SSL”))的单一请求,并且重用从客户端到服务器以及服务器到客户端的同一连接。WebSocket 减少 阅读详情

相关推荐

eclipse和tomcat8的websocket入门篇

最近笔者在做websocket的调研,本来以为很快就可以写一个demo出来,没想到一拖再拖,这么久了才写出一个demo。在网上找了很多例子,但是总觉得没说清楚。有的例子还很老了,是关于tomcat7的,但是tomcat7关于websocket的有些包已经启用,无法使之编译通过。还有的例子是关于jetty之类的其他服务器,由于tomcat使用比较广泛,所以在此笔者只调研了tomcat8的demo。我

strong815的专栏 5356

tomcat转发处理总结

1.服务器内部转发有两个方法:equestDispatcher.forward(),RequestDispatcher.include()a.forward表示直接转发,新的servlet会直接处理并用新的response输出b.include表示归并,将结果归并到当前的response中,自己不会做输出处理。c.这两个方法一般比较常用forward,直接转发。但在使用responseWrappe...

weixin_30794491的博客 904

Springboot使用外置tomcat的同时使用websocket通信遇到的坑

今天的文章可谓是积蓄了我这几年来的应聘和面试经历总结出来的经验,干货满满呀!如果你能够一直坚持看到这儿,那么首先我还是十分佩服你的毅力的。所以看完之后,还是多多行动起来吧!可以非常负责地说,如果你能够坚持把我上面列举的内容都一个不拉地看完并且全部消化为自己的知识的话,那么你就至少已经达到了中级开发工程师以上的水平,进入大厂技术这块是基本没有什么问题的了。大意义了。所以看完之后,还是多多行动起来吧!

2401_84010402的博客 783

springboot集成websocket,并实现消息转发

Java开发,springboot集成websocket,后端客户端实现

qq_53840581的博客 2212

websocket_for_linux

websocket在c语言下的整合包, github https://github.com/wexiangis/websocket_for_linux, 原文请移步https://blog.youkuaiyun.com/SGuniver_22/article/details/74273839

工业预测模型避坑指南:PHM2012轴承数据实战中,LSTM、CNN、Transformer到底怎么选?

本文深入探讨了工业预测模型在PHM2012轴承数据下的选型策略,对比了LSTM、CNN和Transformer等主流模型在轴承寿命预测任务中的表现。通过真实实验数据,提供了可复现的选型决策框架,帮助工程师根据数据规模、硬件条件和精度要求选择最佳模型。文章还揭示了工程落地中的隐藏陷阱,如数据不均衡和工况迁移挑战,并提出了解决方案。

weixin_33694172的博客 493

基于websocket实现将公网请求映射到本地的请求转发(服务端篇)

公网ip可以被互联网访问,而本机的私有ip则不被允许,如何实现将公网ip的请求映射到本机的室友ip呢,我们基于websocket技术,将访问服务器的请求全部转发到本机上websocket实现的话,是需要分为两个端,第一个是放在公网的服务端,第二个是放在本机的客户端,客户端则需要主动的去请求公网的服务端,实现连接成功后,服务端会把所有的请求推给客户端,客户端处理完成后,则将处理结果返回给服务端,再由服务端返回给请求端技术框架的使用的是springboot框架,这里只展示有用的代码。

xiong305的博客 2189

Pytorch版deeplabv3+环境配置训练自己的数据集

参考:https://blog.youkuaiyun.com/qq_36766560/article/details/110009622?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161594607816780266214828%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161594607816780266214828

Ring__Rain的博客 1万+

基于 Springboot 的通过 Websocket 进行信息转发的项目

本系统为基于 Websocket 的信息转发工具,在客户端没有公网IP的情况下,打通客户端与服务端的连接通道,实现双向的信息传输。

雨橙Orainge的博客 1821

卫星监测“America”级#两#栖#攻#击#舰#(LHA-6)出港

卫星监测“America”级#两#栖#攻#击#舰#(LHA-6)出港 前脚刚走,后脚又来,山姆大叔又来刷存在感,2020年7月28日,USS Ronald Reagan流窜在我国东海海区被卫星拍了下来: 2020年8月1日,最新卫星图像显示USS Ronald Reagan已经返回母港日本横须贺:距离其出港(2020年6月8日)已经过去了快两个月 然而事情并没有到此结束,“America”级#两#栖#攻#击#舰#(LHA-6)选择在 “八.一” 这个特殊的日子前后出港颇具挑衅的味道。 根据2020年

qq_46071146的博客 1565

Puchem化合物数据批量抓取采集_宝典_教程_Python爬虫

本文共计6500字,导出到PDF达42页(含代码)。从0教你如何抓取Pubchem化合物数据。 1、 Pubchem介绍 ​ Pubchem是美国国立卫生研究院(NIH)的开放式化学数据库,自2004年推出以来,pubchem已成为科学家、学生和公众的重要化学信息资源。其专门针对化学结构搜索,是网络药理学研究经常用到的数据库之一,不仅使用方便而且免费。 ​ PubChem主要包含小分子,但也包含较大的分子,例如核苷酸,碳水化合物,脂质,肽和化学修饰的大分子。收集有关化学结构,标识符,化学和物理性..

qq_34843422的博客 6073

Tomcat 7的WebSocket实现 下

Tomcat 7的WebSocket实现 下

hffyyg的博客 3188

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

电子电器架构 -- 汽车零部件DV试验与PV试验的定义及关键差异

Soly_kun的博客 733

Tomcat7支持WebSocket

js---》tomcat7——》Server

a79412906的专栏 8042

黑猫带你学UFS协议第8篇:UFS电气特性详解(Power、CLK、Reset等)

UFS强制支持secure mode。UFS设备可能会存储个人或者公司的信息,UFS提供把数据永久从设备上移除的功能,并且保证对存储介质进行逆向恢复数据也恢复不回来原有数据。安全模式是以逻辑单元为单位进行应用的,不同的逻辑单元可以有不同的安全模式。由于UFS设备的存储介质不同,所以把数据安全从存储介质上移除方式会有不同,spec提供了三种通用的移除方法,UFS设备至少支持其中一种。● 对存储的位置进行一次擦除操作。● 对存储的位置使用单一字符(比如0xAA)覆盖写,然后进行擦除。.........

黑猫奥利奥的博客 4076

ArcGIS与地理加权回归GWR【一】

因此,在实际问题研究中我们经常发现回归参数在不同地理位置上往往表现为不同,也就是说回归参数随地理位置变化,这时如果仍然采用全局空间回归模型(全局假设β是不会变得),得到的回归参数估计将是回归参数在整个研究区域内的平均值,如上所说某一个因素在ABC等不同的地理位置对房价的影响是不同的,假如采用全局空间回归模型,便忽略了数据的空间位置属性,只反映平均意义下因变量与自变量的相关关系,而不能有效反映回归关系的空间非平稳性的特征。当自变量为1个时,是一元线性回归,自变量为2个及以上时,称为多元线性回归。

JData_Engineer的博客 1374

如何使用Tomcat实现WebSocket即时通讯服务服务端

HTTP协议是“请求-响应”模式,浏览器必须先发请求给服务器,服务器才会响应该请求。即服务器不会主动发送数据给浏览器。

华为云官方博客 6278

垂直领域论坛数据挖掘:Python突破Discuz!加密与用户画像构建指南

在垂直领域论坛,如专业技术论坛、兴趣爱好社区等,积累了大量有价值的信息和用户数据。这些数据不仅可以帮助我们了解用户的行为模式和兴趣点,还能为社区运营、产品优化、商业决策等提供有力支持。然而,许多基于Discuz!系统的论坛对数据进行了加密保护,给数据挖掘带来了一定的挑战。本文将详细探讨如何使用Python突破Discuz!论坛的加密机制,并构建用户画像,实现数据掘金。

u014481728的博客 1693

基于Tomcat7的websocket的应用实现

这几天想做一个单对单的在线聊天模块,所以研究了一下websocket,以下就来分享一下基于tomcat7的websocket实现的小例子。 1.WebSocket是什么 WebSocket protocol 是HTML5一种新的协议。它实现了浏览器与服务器全双工通信(full-duplex)。 它摒弃了以轮询为主要方式的传统的即时通讯技术,真正实现了一个浏览器与服务器之间的全

detoAndy的博客 673

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

Tomcat中的WebSocket

什么是WebSocket我们知道,Comet是在HTTP单向通信基础上模拟服务器与客户端浏览器的双向通讯,不同的Comet方案存在不同的缺陷,无论是跨浏览器层面还是规范限制。而且因为是一种模拟实现,所以它的效率并不高(如HTTP报头的开销,尤其发送消息较小的情况)。基于这些原因,人们一直试图从规范角度寻找一种标准的替代方案。HTML5提供了一种全新的协议来解决这个问题,这就是WebSocket。它实

边城白衣的博客 1万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

tomcat7和tomcat8的websocket区别

tomcat8真正支持jsr-356(包含对websocket的支持), tomcat7部分版本的websocket实现不兼容jsr-356。websocket实现tomcat7.x与tomcat8.x有很大差异。在tomcat7中使用websocket需要定义一个servlet,然后继承WebSocketServlet,在tomcat8中使用websocke。出自:http://blog.youkuaiyun.com/liuxiao723846/article/details/46930173 一、tomcat7定义

m0_67391907的博客 654

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

tomcat7.0.40自带的webSocket的例子

由于webSocket是个很新的东西,服务器对它的支持变化频繁,网上的很多例子,放到新版本服务器下不能运行。 比如public class TheWebSocketServlet extends WebSocketServlet,老版本的例子往往少了新加进去的方法。另外,这个方法也变了:public StreamInbound createWebSocketInbound( String pro

刘利新西安 4610

Tomcat中WebSocket的使用

创建一个简单的Web项目,后端代码 import javax.websocket.*; import javax.websocket.server.ServerEndpoint; import java.io.IOException; import java.util.Set; import java.util.concurrent.CopyOnWriteArraySet; @ServerEndpoint("/test") public class SendMessageWebSocket {

ApolloNing的博客 544

websocket之三:Tomcat的WebSocket实现

Tomcat自7.0.5版本开始支持WebSocket,并且实现了Java WebSocket规范(JSR356 ),而在7.0.5版本之前(7.0.2版本之后)则采用自定义API,即WebSocketServlet。本节我们仅介绍Tomcat针对规范的实现。 根据JSR356的规定,Java WebSocket应用由一系列的WebSocket Endpoint组成。Endpoint是一个Java对象,代表WebSocket链接的一端,对于服务端,我们可以视为处理具体WebSocket消息的接口,就像Se

weixin_42073629的博客 2401

https请求nginx转发tomcat实现websocket

1.说明: tomcat+nginx+ssl:nginx配置ssl,tomcat不需要配置ssl tomcat+ssl:tomcat不需要配置ssl 2.先了解一下http和websocket: 3.再了解一下:客户端,nginx,tomcat,服务端的关系: 那我们开始配置吧!!!这里我只贴出来关键的配置。 4.nginx的配置: 第一步:把nginx的源码上传到linux...

裸睡的鱼 2147

基于Tomcat7的WebSocket的程序

             在开始学习GUI的SOCKET编程时,就一直有一个梦想,希望有一天能将这种聊天程序在WEB上实现,虽然QQ和许多其它的聊天程序已经实现,但是他们的实现都使用的是AJAX,无非是对AJAX进行改进,或者使用FLEX,个人认为那样实现太复杂,没有研究!!几个星期前终天有时间研究了,使用jetty来编写聊天程序,后来聊天都实现了,但是jetty服务器没有使用过,中间配服务器...

topMan'blog 195
上一篇: tcp/ip sockets 编程 java和c的对比
下一篇: ios8的定位,蓝牙与ios7的区别
linux内核控
博客等级 码龄19年 41粉丝 638原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值