Microsoft MVP성태의 닷넷 이야기
TCP 소켓 [링크 복사], [링크+제목 복사],
조회: 15125
글쓴 사람
안중언
홈페이지
첨부 파일

using System;
using System.Text;
using System.Threading;
using System.Net;
using System.Net.Sockets;

namespace TCP_Test_Client
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("현재 클라이언트 컴퓨터의 IP : " + Utility.GetCurrentIPAddress());

            // 클라이언트 소켓이 동작하는 스레드.
            Thread clientThread = new Thread(ClientFunction);
            clientThread.IsBackground = true;
            clientThread.Start();

            Console.WriteLine("현재 클라이언트 프로그램 실행중입니다. (종료하려면 아무 키나 누르세요...)");
            Console.ReadLine();
        }

        private static void ClientFunction(object obj)
        {
            Console.WriteLine("현재 클라이언트 프로그램을 시작하겠습니다.");

            using (Socket clientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp))
            {
                EndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("220.119.20.225"), 11200);

                clientSocket.Connect(serverEndPoint);

                int nTimes = 5;

                while (nTimes-- > 0)
                {
                    // 클라이언트 -> 서버 : 데이터 송신.
                    byte[] buf = Encoding.UTF8.GetBytes(DateTime.Now.ToString());
                    Console.WriteLine(DateTime.Now.ToString());
                    clientSocket.Send(buf);

                    // 서버 -> 클라이언트 : 데이터 수신.
                    byte[] receivebytes = new byte[1024];
                    int nReceive = clientSocket.Receive(receivebytes);
                    string txt = Encoding.UTF8.GetString(receivebytes, 0, nReceive);

                    Console.WriteLine(txt);

                    Thread.Sleep(1000);
                }
            }

            Console.WriteLine("TCP Client socket : Closed");
        }
    }
}

public static class Utility
{
    public static IPAddress GetCurrentIPAddress()
    {
        IPAddress[] iPAddresses = Dns.GetHostEntry(Dns.GetHostName()).AddressList;

        foreach (IPAddress iPAddress in iPAddresses)
        {
            if (iPAddress.AddressFamily == AddressFamily.InterNetwork)
            {
                return iPAddress;
            }
        }
        return null;
    }
}

서버측은 488 Page 그대로 구현했습니다.

책 488 Page 내용에 UDP에서는 5번 보냈길래 TCP 에서도 5번 보내니까 이런 오류가 뜨는데 이건 왜 이런건가요?








[최초 등록일: ]
[최종 수정일: 11/10/2018]


비밀번호

댓글 작성자
 



2018-11-10 11시44분
서버 측의 코드가 Send / Receive를 몇 번 하는지 확인해 보세요. ^^
정성태

... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...
NoWriterDateCnt.TitleFile(s)
5108닷넷개발1/9/201916307thread 관련 질문 드립니다.. [4]
5107우코아1/4/201919432WPF에서 로딩중 이미지를 구현 - Project [5]파일 다운로드1
5106우코아1/3/201916711WPF에서 로딩중 이미지를 구현 - Source [1]
5104우코아1/1/201918672WPF에서 로딩중 이미지를 구현 [4]
5103이혜성12/31/20181888932bit .net 으로 만들어진 dll파일 [5]
5102돌고래12/18/201817398자료구조와 알고리즘 도서 관련 질문입니다. [4]
5101세퉁12/17/201815621안녕하세요 wpf 공부중인데 질문있습니다. [4]파일 다운로드1
5100돌고래12/16/201814890도서 추천 부탁드립니다. [1]
5099WPF12/12/201817843안녕하세요. WPF에서 UWP Control을 참조하려고 합니다. [3]파일 다운로드1
5097sdh12/10/201819018[c#] 라이선스 파일 만들기 질문 드립니다. [3]
5096거북이12/3/201814068프로젝트 구성을 참고할 만한 자료가 있을까요? [1]
5095한대현11/21/201814173안녕하세요 c# 설치 파일 빌드중 오류가 생겨서 문의 드려요 [1]파일 다운로드2
5094하주형11/20/201814276안녕하세요 C# using 예약어관련 질문드립니다. [1]
5093Medi...11/19/201818030안녕하세요. wpf Mediaelement 질문 있습니다. [3]
5092하주형11/17/201814456안녕하세요 c# 7.1책 스택관련 질문드립니다. [2]
5091아짱11/15/201816478UWP 개발중 질문이 있습니다. [3]
5090황윤하11/15/201820662c# Socket Server에 접근할 수 있는 client 개수 제한 [5]
5089문성운11/14/201818137uwp에서 TcpListener를 사용할 수 없나요? [5]
5088안중언11/10/201815125TCP 소켓 [1]파일 다운로드1
5084김광흠11/9/201817365사운드 파일 "filename.wav" 와 같은 특정 파일이 실행되는것을 감시하고 싶습니다. [3]
5083거북이11/4/201817904타입의 범위를 넘어서는 연산의 개념을 모르겠습니다. [4]
5082꾸엉11/1/201814825BCL 타입을 모아둔 곳이 있나요? [2]
5081꾸엉10/31/201815368C# 7.1 235p 질문입니다. [3]
5080WPF초보10/30/201817360[WPF] IsManipulationEnabled속성 설정시 Click이벤트 문의 [1]
5079jhp10/30/201817354이 소스에 API후킹 소스를 추가하고 싶은데 어떻게 해야될지 모르겠어요. [4]
5078꾸엉10/29/201815392C# 7.1 185~187p 질문입니다. [2]
... 31  [32]  33  34  35  36  37  38  39  40  41  42  43  44  45  ...