如何在服务器端建立Web套接字以实现聊天?

时间:2019-04-20 14:59:21

标签: websocket socket.io

如果我没有服务器详细信息,那么谁将建立或安装Web套接字连接?管理员(负责我们主机的管理员)可以建立连接并向我提供websocket的URL以便在android或角度代码中使用吗?

使用php编写代码是否有必要?

我希望服务器管理员可以安装和配置Web套接字,并提供在聊天模块中使用。

1 个答案:

答案 0 :(得分:0)

Web管理员(Ops)可以帮助创建域名,但是您必须编写服务器端代码来处理WebSocket连接。您可以使用任何支持websocket的编程语言。例如

使用Java Websocket,您只需定义ServerEndpoint并将war(网络存档)部署到任何主机或云提供商(亚马逊云,谷歌云等), / p>

@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);

本地主机意味着我在同一主机上同时运行服务器和客户端,在您的情况下,当客户端在电话上运行时,服务主机可能是www.mike-simons.com/chat

示例:https://github.com/duwamish-os/chat-server_websocket-java