WPF サーバーとクライアント アプリケーションがあります。サーバーを起動すると、受信メッセージのリッスンが開始されます。ただし、アプリケーションに触れたり閉じたりすることはできず、リスニングで「立ち往生」しています。メッセージの処理などの問題で、それがすべきことを行うことを追加する必要があります。しかし、フォームとやり取りすることはできません。非同期サーバーソケットに関連していますか? 何を探すべきかわかりません...
ここに私のサーバーコードがあります:
private void startServer()
{
sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
sck.Bind(new IPEndPoint(0, serverPort));
sck.Listen(100);
while (true)
{
Socket accepted = sck.Accept();
Buffer = new byte[accepted.SendBufferSize];
int bytesRead = accepted.Receive(Buffer);
byte[] formatted = new byte[bytesRead];
for (int i = 0; i < bytesRead; i++)
{
formatted[i] = Buffer[i];
}
string command = Encoding.ASCII.GetString(formatted);
string[] splittedCommand = command.Split(' ');
jobsHistory.Items.Add(Encoding.ASCII.GetString(formatted));
jobsHistory.Refresh();
Process processToRun = new Process();
processToRun.StartInfo.FileName = splittedCommand[0];
processToRun.StartInfo.WorkingDirectory = Path.GetDirectoryName(splittedCommand[0]);
processToRun.StartInfo.Arguments = "";
for (int i = 1; i < splittedCommand.Length; i++)
{
processToRun.StartInfo.Arguments += " " + splittedCommand[i];
}
processToRun.Start();
accepted.Close();
}
}