如何在服务器端建立Web套接字以实现聊天?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在服务器端建立Web套接字以实现聊天?相关的知识,希望对你有一定的参考价值。
如果我没有服务器详细信息,那么谁将建立或安装Web套接字连接?管理员(谁处理我们的主机)可以建立连接并提供我在android或角度代码中使用的websocket的URL?
这有必要在php中编写代码吗?
我希望服务器管理员安装和配置Web套接字并提供在聊天模块中使用。
答案
Web管理员(Ops)可以帮助创建域名,但您必须编写服务器端代码来处理websocket连接。您可以使用任何支持websocket的编程语言。例如,
- 的NodeJS - https://github.com/websockets/ws
- java - https://docs.oracle.com/javaee/7/api/javax/websocket/package-summary.html
使用java websocket,您只需定义ServerEndpoint
并将war
(Web存档)部署到任何主机或云提供商(亚马逊云,谷歌云等),
@ServerEndpoint("/chat/{clientId}")
public class MyWebsocketServer {
@OnMessage
public String handleMessage(@PathParam("clientId") String clientId,
String message,
Session session) {
System.out.println("chat message: " + clientId + "/" +message);
return "hi how are you doing?";
}
}
现在,使用javascript作为客户端,您建立WebSocket连接的代码将是:
var clientId = Math.random().toString(36).substring(2) + (new Date()).getTime().toString(36);
var webSocket = new WebSocket("ws://localhost:8080/my-app/chat/" + clientId);
localhost意味着我在同一主机上同时运行服务器和客户端,在你的情况下服务主机可能是www.mike-simons.com/chat,而客户端在手机上运行
示例:https://github.com/duwamish-os/chat-server_websocket-java
以上是关于如何在服务器端建立Web套接字以实现聊天?的主要内容,如果未能解决你的问题,请参考以下文章