当前位置: 首页 > news >正文

丹阳企业网站建设济南网站建设培训学校

丹阳企业网站建设,济南网站建设培训学校,郑州达云通网站建设公司,企业微信开放平台apiWebSocket是一种在单个TCP连接上进行全双工通信的协议,其设计的目的是在Web浏览器和Web服务器之间进行实时通信(实时Web)。 WebSocket协议的优点包括: 1. 更高效的网络利用率:与HTTP相比,WebSocket的握手…

WebSocket是一种在单个TCP连接上进行全双工通信的协议,其设计的目的是在Web浏览器和Web服务器之间进行实时通信(实时Web)。

WebSocket协议的优点包括:

1. 更高效的网络利用率:与HTTP相比,WebSocket的握手只需要一次,之后客户端和服务器端可以直接交换数据;

2. 实时性更高:WebSocket的双向通信能够实现实时通信,无需等待客户端或服务器端的响应;

3. 更少的通信量和延迟:WebSocket可以发送二进制数据,而HTTP只能发送文本数据,并且WebSocket的消息头比HTTP更小。

简单使用示例:

1. 客户端JavaScript代码:

```javascript
//创建WebSocket对象
var socket = new WebSocket("ws://localhost:8080/");//建立连接后回调函数
socket.onopen = function(event) {console.log("WebSocket连接建立成功");
};//接收到消息后回调函数
socket.onmessage = function(event) {console.log("接收到消息:" + event.data);
};//错误回调函数
socket.onerror = function(event) {console.log("WebSocket连接发生错误");
};//关闭回调函数
socket.onclose = function(event) {console.log("WebSocket连接关闭");
};//发送消息
socket.send("hello server");

2. 服务器端Java代码:

```java
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.HashSet;
import java.util.Set;public class WebSocketServer {//存储所有连接到服务器的WebSocket对象private static Set<WebSocket> webSockets = new HashSet<>();public static void main(String[] args) throws IOException {//创建ServerSocketServerSocket serverSocket = new ServerSocket(8080);System.out.println("服务器已启动,监听端口:8080");//循环等待客户端连接while (true) {//创建Socket对象Socket socket = serverSocket.accept();//创建WebSocket对象,存储到集合中WebSocket webSocket = new WebSocket(socket);webSockets.add(webSocket);//启动线程,处理该WebSocket连接new Thread(webSocket).start();System.out.println("客户端已连接:" + socket.getInetAddress().getHostAddress());}}//广播消息给所有连接到服务器的WebSocket对象public static void broadcast(String message) {for (WebSocket webSocket : webSockets) {try {webSocket.sendMessage(message);} catch (IOException e) {e.printStackTrace();}}}
}

3. 服务器端WebSocket代码:

```java
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;public class WebSocket implements Runnable {private Socket socket;private InputStream inputStream;public WebSocket(Socket socket) throws IOException {this.socket = socket;this.inputStream = socket.getInputStream();}//接收消息public String receiveMessage() throws IOException {byte[] buffer = new byte[1024];int len = inputStream.read(buffer);return new String(buffer, 0, len);}//发送消息public void sendMessage(String message) throws IOException {socket.getOutputStream().write(message.getBytes());}@Overridepublic void run() {try {while (true) {String message = receiveMessage();System.out.println("接收到消息:" + message);WebSocketServer.broadcast(message);}} catch (IOException e) {e.printStackTrace();} finally {try {socket.close();} catch (IOException e) {e.printStackTrace();}}}
}
http://www.yayakq.cn/news/278454/

相关文章:

  • 凡科网怎么建网站wordpress 团购模版
  • win10虚拟机做网站滨州市建设局网站
  • 检测一个网站用什么软件做的方法网站页脚内容
  • 公众号网站怎么做的wordpress评论自定义
  • 建站套餐推荐行业网站建设哪家专业
  • 团购网站短信平台律师事务所网站设计方案
  • 做网站为什么一定要去国外网络推广机构
  • 营销网站制作公司wordpress导航链接地址都是主页
  • 网站路径301重定向怎么做什么网站可以做认证
  • 九江的网站建设公司建站技巧
  • 门户网站建站目标恒通建设集团有限公司网站
  • 北京企业网站设计制作如何用网站做招聘
  • 佛山做外贸网站渠道搜索引擎在线观看
  • 网站开发.net网站搜索排名优化
  • 网站数据库连接出错广告制作公司合同
  • 商务网站建设策划思路淄博网站制作营销
  • 网站开发动态结构设计手机兼职任务平台
  • 国外购物网站app开发微信微商城
  • asp网络公司程序 网站公司企业建设源码 网站设计模板seo优化新手怎么注册自媒体账号
  • 网站开发工具的选择hello外贸人才网
  • 申请网站一年多少钱河北省住房和建设厅网站首页
  • 自己做店招的网站网络推广用什么软件好
  • 怎样建设营销型网站扁平式网站
  • python做网站验证码wordpress网站建设教程视频
  • 做电影下载网站赚钱网站建设拷贝软件
  • winserver2008上用iis发布网站网站建设上传服务器步骤
  • 旅游网站建设方案书范文wordpress 用户私信功能
  • 网站备案全国合作拍照点wordpress如何设置内容页
  • 长沙专业个人做网站哪家好wordpress安全吗
  • 宁波网站建设按需定制公司法人查询系统