Я создал небольшую клиентскую программу, которая получит сообщение от сервера. Я хочу отключить клиента с сервера безопасно после получения сообщения (может возникнуть и другой случай, который, я хочу сравнить полученное значение с другим значением, и если они не совпадают, клиент будет отключен). Моя выборка код:Отключение клиента от сервера после получения сообщения в C# socket
using System;
using System.Collections.Generic;
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Text;
class Program
{
static void Main(string[] args)
{
try
{
TcpClient tcpClient = new TcpClient("127.0.0.1", 1234);
NetworkStream ns = tcpClient.GetStream();
StreamReader sr = new StreamReader(ns);
StreamWriter sw = new StreamWriter(ns);
string data;
//receiving message
data = sr.ReadLine();
Console.WriteLine(data);
//I want to disconnect here
}
catch (Exception e)
{
Console.Write(e.Message);
}
Console.Read();
}
}
Какие дополнительные вещи мне нужно добавить?
В чем разница между использованием блока и его использованием? @Ananke –
Использование блока приведет к тому, что оба экземпляра будут удалены, когда они будут завершены, в этом случае закрытие TCP-соединения. Как правило, вы должны использовать блок использования для всех типов, реализующих IDisposable. Есть некоторые заметные исключения, например. Задача и задача, которые вам обычно не нужны. –
Ananke
Чтобы удовлетворить ваши измененные требования, проведите вокруг строк чтения блока, пока полученные данные не будут соответствовать ожидаемому значению. – Ananke