TCPListenerを使用してコンピュータでサーバーを起動するC#WPFアプリケーションと、クライアントとして動作するアンドロイドアプリケーションがあります。サーバを起動して自分のコンピュータでアプリケーションをエミュレートすると完全に機能しますが、スマートフォンを使用してコンピュータに接続すると機能しませんが、ほとんどの場合、ルータのDHCPを再起動してから何度か動作します私のスマートフォン。あなたが必要な場合はスマートフォンとコンピュータの間でソケット接続が行われません
、ここでは接続コードだ
サーバー:
private static IPAddress ipAd;
private static TcpListener server;
private static TcpClient client;
public static void start() {
//Already tried with both
ipAd = IPAddress.Parse(TCPServer.GetLocalIPAddress());
//ipAd = IPAddress.Parse("127.0.0.1");
server = new TcpListener(ipAd, 1209);
client = default(TcpClient);
try {
server.Start();
Console.WriteLine("Server started");
} catch {
Console.WriteLine("Failed to start server");
}
クライアント:お時間を
Socket socket = null;
String response = new String();
try{
//connect This ipAddress is the same in my desktop
InetAddress ipAd = InetAddress.getByName(ipAddress);
socket = new Socket(ipAd, 1209);
//send
DataOutputStream DOS = new DataOutputStream(socket.getOutputStream());
DOS.write(message.getBytes());
}
...
おかげで、私は私のコンピュータネットワークへのより多くを捧げていたはずですしましたクラス...
特定のポートをリダイレクトする必要がありますか?ルーター/ファイアウォールにいくつかの特定の設定がありますか?私は何かが足りないと思う。
あなたのルータに関係することは間違いありません。あなたが失敗したら、どんなエラーが出ますか? – zapl