websocket的简单应用 Java接口能不能全程使用websocket来传输数据?会有什么弊端吗?

[更新]
·
·
分类:互联网
4107 阅读

websocket的简单应用

Java接口能不能全程使用websocket来传输数据?会有什么弊端吗?

Java接口能不能全程使用websocket来传输数据?会有什么弊端吗?

客户端先给服务器第一次发起post请求,获取websocket连接地址,然后进行链接。
这个时候在把所有的接口请求,都换成socket进行传输。这样的话,就可以不用写controller层上下文注解了。以后发起接口调用直接通过socket发送消息实现。这样会有什么弊端吗?

每个用户占用一个链接,而且要长期占用,要监测心跳,太占用资源了

一个websocket需要一个端口,Linux总共端口有65535个,对于应用来说使用http短连接要好很多

websocket和socket能通讯吗?

WebSocket协议是一种网络协议,它实现了浏览器与服务器的双向通讯的设计。 在本地移动应用中WebSockets也非常有用。通过使用WebSockets,可以重复使用现有的工具建立网页,就像大多数移动应用程序重复使用他们API中的HTTP协议一样。

服务端与客户端之间实现通信的方式有哪些?

在服务及客户端能实现的功能有哪些?怎么实现?

服务端与客户端之间实现通信,说简(专)单(业)点儿就是网络通讯,网络通讯要做的事情就是把数据(流)从一台计算机传输到另外一台计算机,这些是基于传输协议和网络IO来实现的。
传输协议单独说传输协议,可能一般人要发懵,什么是传输协议?我要是说socket、tcp、udp、http这些呢,是不是都见过了。
socket是最底层的传输协议,tcp、udp、http这些都是基于socket扩展出来的协议。
网络IOBIO:同步阻塞式IO,一个连接一个线程
NIO:同步非阻塞IO,一个请求一个线程
AIO,异步非阻塞IO,一个有效请求一个线程
应用级协议文章开头也说过了什么是网络通讯;为了使用的简单一些,行业内基于网络通讯原理,推出了很多应用级的协议,目的是为了方便使用,避免了直接对数据(流)的操作,而是用更直观的传输格式,比如xml、json、二级制。其实传输的还是流,只不过应用级的协议帮你完成了传输格式和流之间的相互转换。
RMI:远程方法调用;
XML-RPC:和RMI类似,只不过它以标准的xml为传输格式;Burlap是基于此协议实现的;
Binary-RPC:看名字就知道了,以二进制为传输格式;Hessian是基于此协议实现的;
SOAP:是XML-RPC的高级版;这个最常见,XDire、Axis;
JMS:常用的实现远程异步调用方法之一;这个现在用的也比较多,ActiveMQ之类。
希望我的回答能够帮助到你!