iOSでJVMを実行しています。
Web ページから POST 要求を使用してデータを取得しようとしたときに、(クライアント側で) 接続を確立できない場合、次のエラーが発生します。
java.net.SocketException: Invalid argument
at gnu.java.nio.VMChannel.getpeername(Native Method)
at gnu.java.nio.VMChannel.getPeerAddress(VMChannel.java:471)
at gnu.java.nio.SocketChannelImpl.isConnected(SocketChannelImpl.java:194)
at gnu.java.nio.SocketChannelImpl.read(SocketChannelImpl.java:216)
at org.apache.mina.transport.socket.nio.SocketIoProcessor.read(SocketIoProcessor.java:218)
at org.apache.mina.transport.socket.nio.SocketIoProcessor.process(SocketIoProcessor.java:198)
at org.apache.mina.transport.socket.nio.SocketIoProcessor.access$400(SocketIoProcessor.java:45)
at org.apache.mina.transport.socket.nio.SocketIoProcessor$Worker.run(SocketIoProcessor.java:485)
at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51)
at java.lang.Thread.run(Thread.java:743)
投稿リクエストを実行するために使用するコード (データは空の文字列である可能性があることに注意してください):
URL url = new URL(urlstring);
URLConnection conn = url.openConnection();
conn.setDoOutput(true);
OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
wr.write(data);
wr.flush();
// Get the response
BufferedReader rd = new BufferedReader(new InputStreamReader(conn
.getInputStream()));
また、リクエストは別のワーカー スレッドで実行されます。これが発生しても、プログラムの他の機能は影響を受けません。
実行中のJVMに関係していると思います。そのエラーがスローされる理由は何ですか? 表示されないようにするにはどうすればよいでしょうか。
ありがとうございました