php 局域网内无法连接websocket服务

局域网无法连接

最近在网上借鉴前辈们的代码,了解使用了 websocket服务,并且测试在本地是可用的。

我在本地web环境下做了一个简单的测试页面,在本地访问该页面,并通过wss协议连接 websocket服务,连接成功。

可是再使用局域网内的其他PC访问时,却连接不上我的服务。

经过检查,

1、需要关闭我的防火墙,

2、保证服务监听的端口不被占用,

3、并且后端服务代码中,监控127.0.0.1或localhost都会导致局域网内无法访问,改成监控 0.0.0.0 ,就可以啦

我的问题就是第3点,监控地址改成 0.0.0.0 就解决问题了,局域网内可以访问了。



外网无法连接

解决局域网连接问题后,我又将该服务部署到阿里云ECS服务器,结果又连接不上了。。。

经过各大QQ群寻求帮助,得知原来是 阿里云ECS 安全组策略问题。

到阿里云服务器控制台,修改安全组配置,配置规则,规则配置如下:(端口范围就写 要监听的端口)。

感谢 “cURL高级技术”QQ群友的帮助!


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在Android上连接WebSocket服务非常简单。首先,你需要在你的项目中添加OkHttp库的依赖。在build.gradle文件中添加下面的代码: ```groovy implementation 'com.squareup.okhttp3:okhttp:3.14.9' implementation 'com.squareup.okhttp3:okhttp-urlconnection:3.14.9' implementation 'com.squareup.okhttp3:logging-interceptor:3.14.9' ``` 然后,在你的Activity或者Fragment中,使用以下代码连接WebSocket服务: ```java import okhttp3.OkHttpClient; import okhttp3.Request; import okhttp3.WebSocket; import okhttp3.WebSocketListener; public class MainActivity extends AppCompatActivity { private WebSocket webSocket; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("ws://your-websocket-url") .build(); WebSocketListener socketListener = new WebSocketListener() { @Override public void onOpen(WebSocket webSocket, Response response) { // 连接成功时的逻辑 } @Override public void onMessage(WebSocket webSocket, String text) { // 接收到消息时的逻辑 } @Override public void onClosed(WebSocket webSocket, int code, String reason) { // 连接关闭时的逻辑 } @Override public void onFailure(WebSocket webSocket, Throwable t, Response response) { // 连接失败时的逻辑 } }; webSocket = client.newWebSocket(request, socketListener); } } ``` 在上面的代码中,你需要替换`ws://your-websocket-url`为你真实的WebSocket服务的URL。在`WebSocketListener`的回调方法中,你可以处理WebSocket连接状态,接收和发送消息。当你不再需要WebSocket连接时,你可以通过调用`webSocket.close()`方法关闭连接。 以上就是在Android上连接WebSocket服务的简单示例。你可以根据自己的需求来处理WebSocket的消息和事件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值