我遵循jBoss文档,在用jBoss 7构建的服务中包含一个WebSocket。
我已经创建了一个接口及其实现,并带有所需的注解:
@ServerEndpoint("/websocket/helloworld")
public interface MyService {
@OnMessage
String sayHello(String name);
@OnOpen
void helloOnOpen(Session session);
@OnClose
void helloOnClose(CloseReason reason);
}
我还在控制器所在的父POM和WebLayer中添加了所需的依赖项。
<dependency>
<groupId>org.jboss.spec.javax.websocket</groupId>
<artifactId>jboss-websocket-api_1.0_spec</artifactId>
<version>1.0.0.Final</version>
<scope>provided</scope>
</dependency>
WebSocket没有正确处理,我无法连接到它。查看服务器访问日志,我可以看到我正在访问服务器
{"ident": "-","auth": "-","logdate": "[30/Aug/2023:18:20:36 +0200]","client": {"ip": "172.18.0.1","user_agent": "-"},"verb": "GET","http": {"protocol": "HTTP/1.1","request": {"path": "/genesys-chat/websocket/helloworld","clientVersion": "-","query-string": "-"},"response": {"status": "404","bytes": "68","time": "5"}}, "type":"standard", "logname":"jbossweb_access.log"}
正如你所看到的,这个请求是一个普通的HTTP GET请求。我可以看到undertow使用的句柄是HTTP句柄。
完成的请求是 Postman 指向ws://localhost:8080/genesys-chat/websocket/helloworld
我错过什么了吗?
1条答案
按热度按时间kcwpcxri1#
对于需要编写实现而不是接口的初学者,请查看已发布的快速入门列表