首页>>后端>>Spring->websocketjava(websocketjava封装的框架)

websocketjava(websocketjava封装的框架)

时间:2023-12-02 本站 点击:0

java怎么做websocket

我不知道你想用websocket实现什么样的功能,一般配合HTML5的话websocket可以解决服务端和客户端消息实时传递的问题,如消息推送(webQQ这种)。它的初始连接是http转成websocket连接。

实现的话要做两件事,一端是在服务器实现service,这个有点像tcplistener一样;

另一个是客户端(浏览器)开发,可以用JS实现:

html

head

meta

charset="utf-8"

/

script

type="text/javascript"

var

host

=

'127.0.0.1';

var

port

=

8080;

var

url

=

'ws://'+host+':'+port+'/';

var

w

=

new

WebSocket(url);

//构建于服务器之间的连接通信

!--var

audioElement

=

document.createElement('audio');

--

!--audioElement.setAttribute('src',

'qqmsg.mp3');--

w.onopen

=

function()//通过onopen事件句柄来监听socket的打开事件

{

$('chat-box').innerHTML

=

'已连接到服务器......br/';

}

w.onmessage

=

function(e)//用onmessage事件句柄接受服务器传过来的数据

{

var

msg

=

e.data;

var

chatBox

=

$('chat-box');

//

audioElement.play();

chatBox.innerHTML

=

chatBox.innerHTML+msg+'br/';

}

function

send()//使用send方法向服务器发送数据

{

var

talk

=

$('talk');

var

nike

=

$('nike');

w.send('strong

style="color:red"'+nike.value+':/strong'+talk.value);

}

function

$(id)

{

return

document.getElementById(id);

}

/script

/head

body

div

id="chat-box"

style="border:1px

solid

#cccccc;

width:400px;

height:400px;

overflow:scroll;"/div

昵称:

input

type="text"

id="nike"/

br/

内容:

input

type="text"

id="talk"/

input

type="button"

id="send"

onClick="send();"

value="发送"/

/body

可参考IBM社区

/html

java检查websocket是否开启

可以使用Java的Socket类来检查WebSocket是否开启。

下面是一个示例代码:

try {

Socket socket = new Socket("localhost", 8080);

if (socket.isConnected()) {

System.out.println("WebSocket is open");

} else {

System.out.println("WebSocket is closed");

}

} catch (IOException e) {

e.printStackTrace();

}

java消息推送websocket怎么实现

java消息推送websocket实现原理:在实现websocket连线过程中,需要通过浏览器发出websocket连线请求,然后服务器发出回应,这个过程通常称为“握手” 。在 WebSocket API,浏览器和服务器只需要做一个握手的动作,然后,浏览器和服务器之间就形成了一条快速通道。两者之间就直接可以数据互相传送。

在以前的消息推送机制中,用的都是 Ajax 轮询(polling),在特定的时间间隔由浏览器自动发出请求,将服务器的消息主动的拉回来,这种方式是非常消耗资源的,因为本质还是http请求,而且显得非常笨拙。而WebSocket 在浏览器和服务器完成一个握手的动作,在建立连接之后,服务器可以主动传送数据给客户端,客户端也可以随时向服务器发送数据。

WebSocket协议是基于TCP的一种新的网络协议。实现了浏览器与服务器全双工(full-duplex)通信——允许服务器主动发送信息给客户端。也可以选择第三方推送平台来实现,比如极光推送就不错。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:/Spring/9970.html