Мое назначение - сделать клиента, который отправляет метод ToString-override на сервер. Мой учитель прислал мне файл Centralcomputer.exe, который является программой сервера, эта программа может получать отдельные строки и использует мой локальный IP-адрес.
Я подключаюсь без проблем, проблема возникает при попытке выполнить эту строку Int32 bytesRead = stream.Read(bytesToRead, 0, klient.ReceiveBufferSize);
мой клиент зависает, и значение bytesRead равно 0.
РЕДАКТИРОВАТЬ: Забыл упомянуть, что серверная программа отвечает некоторыми "восточными" письмами до того, как клиент зависает.
TcpClient client = new TcpClient();
public async Task Connecting()
{
try
{
await client.ConnectAsync("127.0.0.1", 12345);
}
catch (ArgumentNullException e)
{
MessageBox.Show("ArgumentNullException: {0}" + e);
}
catch (SocketException e)
{
MessageBox.Show("SocketException: {0}" + e);
}
public void Sending()
{
string sendToServer = "Testing testing";
byte[] data = System.Text.Encoding.ASCII.GetBytes(sendToServer);
NetworkStream stream = client.GetStream();
stream.Write(data, 0, data.Length);
byte[] bytesToRead = new byte[client.ReceiveBufferSize];
Int32 bytesRead = stream.Read(bytesToRead, 0, client.ReceiveBufferSize);
//This is where the client freezes
MessageBox.Show("Received : " + Encoding.ASCII.GetString(bytesToRead, 0, bytesRead));
}
Раньше я никогда не занимался этим типом кодирования, поэтому я очень признателен за помощь, только чтобы начать!