【问题标题】:Cannot open socket when incoming call来电时无法打开套接字
【发布时间】:2018-02-23 16:18:52
【问题描述】:

当通过移动数据(4G)来电时,我尝试将数据发送到服务器。 我收到以下错误之一:

java.net.UnknownHostException:主机未解析:xyz.xy

java.net.SocketTimeoutException: 无法连接到 /xxx.xxx.xxx.xxx (端口 yyyyyy)15000 毫秒后

WIFI开启时,来电时正在发送数据。

这是部分代码:

Socket socket = new Socket();
DataOutputStream dos;
DataInputStream dis;
try {
    socket.connect(new InetSocketAddress(SERVER_IP, SERVER_PORT), CONNECTION_TIMEOUT);
    socket.setTcpNoDelay(true);
    socket.setSoTimeout(READ_TIMEOUT);
    dos = new DataOutputStream(socket.getOutputStream());
    dis = new DataInputStream(socket.getInputStream());

    int count = text.getBytes("UTF-8").length;
    ByteBuffer data = ByteBuffer.allocate(count);
    data.put(text.getBytes("UTF-8"));

    dos.write(data.array(), 0, data.array().length);

来电时通过移动数据(4G)发送数据有问题吗?还是我缺少任何设置?

编辑

我在读,如果手机支持 SVDO 技术或 4G LTE,调制解调器可以接受呼叫和发送数据。我的手机小米红米3S有这个技术。

【问题讨论】:

    标签: java android sockets mobile-data


    【解决方案1】:

    我发现了问题。问题在于运营商和技术 VoLTE。在捷克共和国,只有 O2 运营商才能做到这一点,请参阅forum。在三星 Galaxy S7 中它可以正常工作。

    【讨论】:

      猜你喜欢
      • 2013-09-11
      • 2013-10-04
      • 1970-01-01
      • 2022-06-13
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2015-03-18
      • 2016-03-23
      相关资源
      最近更新 更多