このコードは、プロジェクトタイプコンソールアプリケーション(.NETコア)で問題なく動作します。UWPのソケット接続のタイムアウト
class Program
{
static void Main(string[] args)
{
var L = new TcpListener(IPAddress.Any, 4994);
L.Start();
using (var C = L.AcceptTcpClientAsync().Result)
{
var S = C.GetStream();
var BR = new BinaryReader(S);
var BW = new BinaryWriter(S);
BW.Write("This is from Console!!!");
Console.WriteLine(BR.ReadString());
}
}
}
しかし、私はブランクのApp(ユニバーサル・Windowsの場合)このようなのプロジェクトタイプでこのコードを使用する場合:
public MainPage()
{
InitializeComponent();
ThreadPool.RunAsync(foo);
}
static void foo(IAsyncAction operation)
{
var L = new TcpListener(IPAddress.Any, 4994);
L.Start();
using (var C = L.AcceptTcpClientAsync().Result)
{
var S = C.GetStream();
var BR = new BinaryReader(S);
var BW = new BinaryWriter(S);
BW.Write("This is from UWP!!!");
Debug.Write(BR.ReadString());
}
}
私はのnetstatでそれをチェックするときには、そのポートに耳を傾けますが、クライアントがこの例外を接続したいときにスローされます。
System.Net.Sockets.SocketException:「接続されたホストが応答に失敗したため、接続先が適切に一定期間後に応答、または接続を確立していなかったため、接続の試行が失敗したが失敗した」
UWPアプリケーションにはプライベートネットワーク(クライアント&サーバ)とインターネット(クライアント&サーバ)があります。
ファイアウォールをオンまたはオフにすることは役に立ちませんでした。
対象バージョン:のWindows 10クリエーターアップデート(10.0; 15063の構築)WPFアプリケーションです
クライアントコード:
using (var C = new TcpClient("127.0.0.1", 4994))
{
var S = C.GetStream();
var BR = new BinaryReader(S);
var BW = new BinaryWriter(S);
BW.Write("This is a test");
MessageBox.Show(BR.ReadString());
}
あなたが同じマシンからソケットにアクセスしようとしています:
ここでは、これが議論されている別の問題ですか? [ネットワーク隔離ツール](https://msdn.microsoft.com/en-us/library/windows/apps/hh780593.aspx)を確認してください。 –