Symbian デバイスの j2me midlet から Windows (C#) ソケット サーバーへの tcp ソケットを開こうとしています。サーバーは機能しており、数か月間テストされました。ミッドレットからソケットを開こうとすると
clientSocketConnection = (SocketConnection) Connector.open("socket://" + ip + ":" + port);
-34 エラー (接続できませんでした) でタイムアウトするだけです。
一方の側でサーバーが存在する同じマシンで「ServerSocket」を使用して(エミュレートされた)2台の電話間でこのようなソケット接続を開くことができるため、電話にネットワーク機能と権限があることを知っています。
どういうわけか、J2ME Socket は C# の対応するものと互換性がありません....
listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
この問題に関するヒントをいただければ幸いです。また、サーバー側で別のタイプのソケットを使用する必要がありますか? J2ME ソケットの AdressFamily、SocketType、ProtocolType に関する情報が見つかりませんでした。
最近のコメントによる情報を追加します。ファイアウォールがなく、マシンの IP に対して DMZ が構成されているため、ファイアウォールの問題ではありません。(エミュレートされた)電話はインターネットにアクセスでき、エミュレータから別のエミュレータへのソケットを開くと、両方とも同じマシン上で、「クライアント」側のWAN PUBLIC IPを使用して「サーバー」側を見つけます。