私は現在サーバで作業しようとしています。私はこのコードを持っています: サーバ接続でエラーが発生しました
私は 'ParametrizedThreadStart'のスレッドで 'HandleCC'メソッドを開始しています。私は '127.0.0.1'で接続しようとしています。私は接続することができます。私が接続しているときは、第1のブレークポイントは良いですが、第2のコードも停止します。 (コンソールはまだ動作していますが、次のブレークポイントの誰もコードを壊していません)。 私は英語を助けてくれて嬉しいです。
全コード:あなたは、クライアントとサーバーの両方を必要とする任意のクライアントサーバーアプリケーションで
using System;
using System.Text;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Linq;
using System.Collections.Generic;
using System.Collections;
using System.Threading;
namespace MTSP
{
class Comunication
{
private TcpListener listener;
private Thread thread;
public Comunication()
{
this.listener = new TcpListener(IPAddress.Any, 20345);
this.thread = new Thread(new ThreadStart(this.ListenLoop));
this.thread.Start();
}
private void ListenLoop()
{
this.listener.Start();
while (true)
{
TcpClient client = this.listener.AcceptTcpClient();
Thread tr = new Thread(new ParameterizedThreadStart(this.HandleCC));
tr.Start(client);
}
}
private void HandleCC(object client)
{
TcpClient cli = (TcpClient)client;
NetworkStream stream = cli.GetStream();
byte[] buffer = new byte[1024];
int bytesread = 0;
string mess = "";
StringBuilder compmess = new StringBuilder();
while (true)
{
bytesread = 0;
try
{
bytesread = stream.Read(buffer, 0, buffer.Length);
}
catch
{
break;
}
compmess.AppendFormat("{0}", Encoding.ASCII.GetString(buffer, 0, bytesread));
string a = compmess.ToString();
string g;
}
System.Diagnostics.Debug.WriteLine(compmess.ToString());
cli.Close();
}
}
}
どのように 'クライアント 'を作成しますか?どのサーバーに接続していますか? 'Read()'が返されない最も一般的な理由は、サーバーがデータを送信しないということです。そして、あなたが 'キャッチ'と 'ブレーク'を使用している方法は非常に間違っているようです。また、スクリーンショットではなくテキストとしてコードを投稿できますか? – svick
あなたは私のポストにあります。 – user35443
それは止まりません、それはブロックします。何かを送る。 –