이 내용은 TCP/IP 소켓 프로그래밍 C#을 참고 하였습니다.
            
                    
                    
using System;
using System.Net;
using System.Net.Sockets;
class TcpEchoServer {
    private const int BUFSIZE = 32;   // 수신 버퍼의 크기
    static void Main(string[] args) {
        if (args.Length > 1) // 파라미터 개수 확인
            throw new ArgumentException("Parameters: [<port>]");
        int servPort = (args.Length == 1) ? Int32.Parse(args[0]): 7;
        TcpListener listener = null;
        try {
            // 클라이언트의 연결 요청을 수락할 TcpListener 인스턴스를 생성
            listener = new TcpListener(IPAddress.Any, servPort);
            listener.Start();
        } catch (SocketException se) {
            Console.WriteLine(se.ErrorCode + ": " + se.Message);
            Environment.Exit(se.ErrorCode);
        }
        byte[] rcvBuffer = new byte[BUFSIZE];    // 수신 버퍼
        int bytesRcvd;                          // 현재까지 수신된 바이트 수
        for (;;) {
            TcpClient client = null;
            NetworkStream netStream = null;
            try {
                client = listener.AcceptTcpClient(); //클라이언트 연결 요청을 수락
                netStream = client.GetStream();
                Console.Write("Handling client - ");
                // 클라이언트가 0의 값을 전송하여 연결을 종료할 때까지 계속 수신
                int totalBytesEchoed = 0;
                while ((bytesRcvd = netStream.Read(rcvBuffer, 0, rcvBuffer.Length)) > 0) {
                    netStream.Write(rcvBuffer, 0, bytesRcvd);
                    totalBytesEchoed += bytesRcvd;
                }
                Console.WriteLine("echoed {0} bytes.", totalBytesEchoed);
                // 스트림과 소켓을 종료하여 이 클라이언트와의 연결을 종료
                netStream.Close();
                client.Close();
            } catch (Exception e) {
                Console.WriteLine(e.Message);
                netStream.Close();
            }
        }
    }
}'C#' 카테고리의 다른 글
| 간단한 Class 테스트 (0) | 2006.05.29 | 
|---|---|
| .NET 기반의 Socket클래스를 이용한 Echo Client 프로그램 (0) | 2006.05.29 | 
| 직접 코드로 입력한 간단한 C# 프로그램 (0) | 2006.05.28 | 
| TcpEchoClient 프로그램 (0) | 2006.05.26 | 
| 호스트 정보를 반환하는 프로그램 (0) | 2006.05.26 |