1

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に関係していると思います。そのエラーがスローされる理由は何ですか? 表示されないようにするにはどうすればよいでしょうか。

ありがとうございました

4

0 に答える 0