来电时无法打开套接字
Cannot open socket when incoming call
我尝试在通过移动数据 (4G) 来电时向服务器发送数据。
我收到以下错误之一:
java.net.UnknownHostException: Host is unresolved: xyz.xy
或
java.net.SocketTimeoutException: failed to connect to /xxx.xxx.xxx.xxx
(port yyyyyy) after 15000ms
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)发送数据有问题吗?或者我缺少任何设置?
编辑
我正在阅读,如果phone支持SVDO技术或4G LTE,调制解调器可以接听电话和发送数据。我的phone小米红米3S有这个技术
我发现了问题。问题出在运营商和技术 VoLTE 上。在捷克共和国只能通过 O2 运营商做到这一点,请参阅 forum。在 Samsung Galaxy S7 中它正在运行。
我尝试在通过移动数据 (4G) 来电时向服务器发送数据。 我收到以下错误之一:
java.net.UnknownHostException: Host is unresolved: xyz.xy
或
java.net.SocketTimeoutException: failed to connect to /xxx.xxx.xxx.xxx (port yyyyyy) after 15000ms
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)发送数据有问题吗?或者我缺少任何设置?
编辑
我正在阅读,如果phone支持SVDO技术或4G LTE,调制解调器可以接听电话和发送数据。我的phone小米红米3S有这个技术
我发现了问题。问题出在运营商和技术 VoLTE 上。在捷克共和国只能通过 O2 运营商做到这一点,请参阅 forum。在 Samsung Galaxy S7 中它正在运行。