【问题标题】:socket connection issue between 2 carriers' network2 个运营商网络之间的套接字连接问题
【发布时间】:2013-01-27 19:41:10
【问题描述】:

我在android上写了一个简单的socket程序,服务端建立一个服务端socket等待传入的连接,客户端通过与服务端的ip地址建立连接来连接服务端。我使用 Sprint 的 3G Nexus S 作为服务器,使用 ATT 的 4G Samsung Galaxy S3 作为客户端。当我的客户端尝试连接时,它会抛出异常“没有到达目的地的路线”。但后来我切换到我的个人 WIFI 网络,它运行良好。有人可以帮我解决这个问题吗?或者在android中使用蜂窝网络建立套接字连接有什么特殊要求吗?谢谢!

我的客户端是:

socket = new Socket(serveripaddress, 8008);
out = new PrintWriter(socket.getOutputStream());

我的服务器端是:

ss = new ServerSocket(8008);

更新:我刚刚使用了 2 部 Sprint 手机来测试我的代码,它运行良好!!这只是一个特殊情况,我必须使用手机作为服务器,一般不推荐

【问题讨论】:

  • 运营商防火墙通常不允许传入连接到移动设备。
  • 那么,如果我使用同一运营商下的 2 部手机,它们会阻止连接吗?
  • 我希望如此,但不能保证。它还可能取决于使用的 APN。我不会围绕这项工作制定任何计划。计划在中间放置一个服务器。
  • 知道了,在这种特殊情况下,我必须使用手机作为服务器端,但感谢您的帮助,请发布您的 cmets 作为答案,我会选择您的最佳答案。

标签: java android sockets 3g


【解决方案1】:

运营商防火墙通常不允许传入连接到移动设备。这样做会使移动设备面临安全风险和滥用其数据限制。它还可以取决于用于连接的 APN。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2016-03-30
    • 1970-01-01
    相关资源
    最近更新 更多