본문 바로가기

728x90

네트워크

(3)
[네트워크/C#] SocketAsyncEventArgs를 이용한 비동기 TCP 통신 # SocketAsyncEventArgs 클래스 SocketAsyncEventArgs 클래스는 비동기 소켓 통신을 할 때 송신과 수신 자체 작업을 담당하는 클래스입니다. Socket 통신을 하기 때문에 Socket이고, 비동기로 작업을 하기 때문에 Async입니다. 작업을 완료하면 실행되는 완료 콜백 함수를 가질 수 있어 Event이고, Socket 클래스의 비동기 함수에 인수로 들어가기 때문에 Args라고 생각하시면 좋겠습니다. Socket 클래스의 함수 중 뒤에 Async가 붙는 함수들은 모두 public bool ***Async(SocketAsyncEventArgs e); 의 형태로 선언되어 있습니다. 그래서 SocketAsyncEventArgs를 활용한 비동기 통신을 할 때의 대략적인 순서는 So..
[네트워크/C#] .NET TCP/IP 네트워크 기초 # IPAdress 클래스 네트워크에 기본적으로 사용되는 식별자로 IP 주소 - IPAddress 클래스로 관리합니다. 도메인 - Dns 클래스로 관리합니다. 포트번호 - IPEndPoint 클래스로 관리합니다. 가 있습니다. 그 중 IPAddress 클래스의 간단한 기능들입니다. using System.Net; // 문자열 ip주소를 저장합니다. IPAddress ip = IPAddress.Parse("192.168.0.1"); Console.WriteLine(ip.ToString()); // ip주소를 byte배열로 변환합니다. byte[] buff = ip.GetAddressBytes(); Console.WriteLine(buff.Length); // ipv4 주소를 ipv6로 변환합니다. IPAd..
[소켓프로그래밍] 기초 1. 소켓이란 무엇인가 # 일반 용어 네트워크에서 소켓이란 OSI 7 Layer ( Open System Interconnection 7 Layer )의 네 번째 계층인 TCP 상에서 동작하는 소켓을 주로 사용하는데 이를 TCP 소켓 혹은 TCP/IP 소켓 이라 합니다. 소켓의 역할 - 클라이언트 소켓 ( Client Socket ) ` 서버 소켓에게 네트워크 연결 요청을 보냅니다. ` IP주소와 포트번호로 서버 소켓을 식별합니다. ` 111.222.333.444:7000 // 밑 줄 친 부분이 IP 주소 : 굵은 부분이 포트 번호 - 서버 소켓 ( Server Socket ) ` 클라이언트 소켓의 네트워크 연결 요청을 받습니다. 클라이언트 소켓과 서버 소켓으로 구분지어 놨지만 역할이 다른 것일 뿐 동일한 소켓입니다. 연결 요..

728x90