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

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를 몇 번 하는지 확인해 보세요. ^^
정성태

... 46  47  48  49  50  51  52  53  54  [55]  56  57  58  59  60  ...
NoWriterDateCnt.TitleFile(s)
1309서동원8/12/201418203안녕하세요. embeded dll과 관련하여 질문드립니다. [4]
1308김솔8/11/201422342리스트뷰에서 중복파일체크를 하고싶습니다. [3]
1306이상현8/7/201415875Entity 프레임웍에서 테이블만 추가로 등록하는 방법
1307이상현8/7/201416402    답변글 [답변]: 자답이네요. [1]
1305popo8/7/201417488wpf UserControl List 바인딩 질문 입니다. [1]
1304민경수8/7/201420534네이버 카페에 구글 스프레드 시트 삽입 [1]
1303김동진8/7/201417686vmware환경에서 Guest IP를 192대역으로 받을 수 있는 방법은 없을까요~? [3]
1302김문경7/31/201416586스마트클라이언트 오라클 연결 [1]
1314이재균8/20/201416673    답변글 [답변]: 스마트클라이언트 오라클 연결
1300아로스7/28/201430277c# 인터넷 임시 파일 삭제 문의 [12]파일 다운로드1
1299서동원7/28/201418657안녕하세요. 혹시 Internet_Zone과 관련된문제인가 해서 질문드립니다. [1]
1298(non...7/25/201424892(글쓴이의 요청으로 삭제합니다.) [15]
1295서동원7/22/201419847안녕하세요. 스마트클라이언트에 대해 질문드립니다. [2]파일 다운로드1
1294(non...7/20/201418084(글쓴이의 요청으로 삭제합니다.) [2]
1293VS20...7/20/201419515VS2013 Ultimate에 Windows Phone 프로젝트 템플릿 추가 방법 문의 [1]파일 다운로드2
1292(non...7/20/201417021(글쓴이의 요청으로 삭제합니다.) [2]
1291zino7/16/201418707chromium 배포본 만들기~ [1]
1290(non...7/13/201419479(글쓴이의 요청으로 삭제합니다.) [3]
1288박주만7/8/201428714C# 서비스 기반 데이터베이스(mdf) & InstallShield Limited Edition 설치 및 배포 [2]파일 다운로드1
1287김용환7/8/201426820오라클 db 사용관련 문의입니다. [4]파일 다운로드1
1286C#조으다7/8/201416989WebBrowser 공유기 관리 웹 페이지 인증 [3]
1285C#조으다7/5/201417339IE DocumentComplete 이벤트가 발생되지 않습니다. [2]
1284(non...7/4/201417644(글쓴이의 요청으로 삭제합니다.) [3]
1283김영대7/3/201420500안녕하십니까 정성태님 죄송하지만 SmartClient 에 관한 질문이 있습니다. [9]
1282(non...7/2/201417541(글쓴이의 요청으로 삭제합니다.) [2]
1281(non...7/1/201418806(글쓴이의 요청으로 삭제합니다.) [4]
... 46  47  48  49  50  51  52  53  54  [55]  56  57  58  59  60  ...