웹 개발/네트워크 (13) 썸네일형 리스트형 [C#] TCP/IP 소켓 프로그래밍_ echo 프로그램 클라이언트가 메시지를 보내면 서버가 클라이언트에게 재전송 하는 프로그램 - 서버 public static void CreateEchoServer() { using (Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)) { IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.30.1"), 20000); serverSocket.Bind(endPoint); serverSocket.Listen(20); using (Socket clientSocket = serverSocket.Accept()) { Console.WriteLine(c.. [C#] TCP/IP 소켓 프로그래밍_ 직렬화, 바이트 오더 직렬화 직렬화 - 메모리상에 있는 객체를 전송/ 저장 가능한 형태로 만드는 것 - 소켓통신에서는 바이트를 많이 사용 역직렬화 - 직렬화된 데이터를 다시 객체의 형태로 만드는 것 //직렬화 int num = 123; byte[] buffer = BitConverter.GetBytes(num); //역직렬화 //buffer라는 바이트 배열을 0번째 인덱스부터 시작해서 4바이트를 읽으라는 의미 int num2 = BitConverter.ToInt32(buffer, 0); - long 타입을 사용한 예제 long은 8byte 짜리 자료형이므로 버퍼의 길이는 8이 나온다. //직렬화 long num = 123; byte[] buffer = BitConverter.GetBytes(num); Console.Write.. [C#] TCP/IP 소켓 프로그래밍_ Socket 객체 생성 - 서버 using System.Net; using System.Net.Sockets; using System.Net.WebSockets; namespace Server; internal class Program { static void Main(string[] args) { // param: 주소체계, 소켓타입 // Stream 은 연결 지향을 의미 Socket serverSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //엔드 포인트 IPEndPoint endPoint = new IPEndPoint(IPAddress.Parse("192.168.30.1"), 20000); //serverSocket.. [C#] TCP/IP 소켓 프로그래밍_ 소켓 기초용어 정리 소켓이란? - 물리적으로 연결되어 있는 네크워크상에서 데이터 송수신에 사용할 수 있는 소프트웨어 장치 - TCP/IP 3계층 중 2,3 계층을 class로 구현한 것 Port - A단말기에서 B단말기로 데이터가 전송된다고 하면 B단말기에 실행중인 프로세스가 많을 것. 그 중 어느 프로그램으로 도착할 것인지를 구분짓는 식별자 - 하나의 단말기 내에서 포트번호가 중복되면 안된다 TCP(연결지향형) - 데이터의 순서, 도착 보장 tcp는 패킷에 번호를 부여. 받는 쪽에서는 번호 순서로 데이터를 받는다. 받는 단말기에서 수신되었다면 보낸 단말기로 패킷을 전송하여 도착을 보장 - 데이터의 경계가 없다 - 서버와 클라이언트의 연결이 1:1. 신뢰성이 중요한 게임이나 채팅에 주로 사용 UDP(비연결지향형) - 데이터.. [C#] TCP/IP 소켓 프로그래밍_ 네트워크 기초용어 정리 네트워크 - 서로 다른 위치에 있는 단말기(컴퓨터, 스마트폰..)를 여러 통신매체(네트워크 장비들)를 이용해서 연결 시킨 것 IP주소 - 네트워크에 연결된 단말기를 식별하는 주소 도메인 - ip 주소를 매번 입력해서 접속하기는 어려우므로 'www.naver.com' 같은 형태로 변경 - 도메인 이름을 ip주소로 변경해주는 서버가 DNS TCP/IP 4계층 1. Link : 실제로 데이터를 보내고 받는 물리영역. 랜카드, 스위치.. 2. Internet: 데이터 전송 시 데이터가 어떤 경로로 어떤 목적지에 도착해야 하는지 라우팅 하는 계층 3. Transport: ip만으로 전송하는 것은 신뢰성이 없다. 인터넷 계층의 부족함을 보완한 계층. TCP, UDP 4. Application: 네트워크 활동의 기반.. 이전 1 2 다음