728x90


"TCPListener 서버 5단계" 구현 목표

 

서버 연결 종료 구현

더보기
if (mTCPListener != null)
{
    //(7)
    mTCPListener.Stop();
}

 

foreach (TcpClient clnt in mClients)
{
    clnt.Close();
}
mClients.Clear();

 



TCPClient

더보기
using System;
using System.Net.Sockets;
using System.Text;

namespace TcpClientTest
{
    class Program
    {
        static void Main(string[] args)
        {

            // [1] 접속 할 서버의 IP, PORT 정보넘겨받아 바로 연결한다.
            TcpClient tc = new TcpClient("127.0.0.1", 7000);

            // [2] 송수신

            // 송신 할 문장 준비
            string msg = "안녕하세요. TCPClient & TCPListener 사용 테스트입니다.";
            byte[] buff = Encoding.UTF8.GetBytes(msg);

            // 보낸다
            NetworkStream stream = tc.GetStream();
            stream.Write(buff, 0, buff.Length);

            // 받는다.
            byte[] receiverBuff = new byte[2048];
            int nbytes = stream.Read(receiverBuff, 0, receiverBuff.Length);
            string output = Encoding.UTF8.GetString(receiverBuff, 0, nbytes);

            // [3] 닫는다.
            stream.Close();
            tc.Close();

            Console.WriteLine($"{nbytes} bytes: {output}");
        }
    }
}