Async, Await
·
공부/C#
C#의 async와 await 키워드는 비동기 프로그래밍을 더 쉽게 작성할 수 있게 해주는 기능입니다. 비동기 프로그래밍은 시간이 많이 걸리는 작업(예: 파일 입출력, 네트워크 호출)을 기다리는 동안 애플리케이션의 응답성을 유지하고 다른 작업을 계속 수행할 수 있도록 합니다. async와 await를 사용하면 이러한 작업을 간단하고 직관적으로 처리할 수 있습니다.기본 개념async 키워드: 메서드에 async 키워드를 붙이면, 해당 메서드가 비동기 작업을 포함하고 있음을 나타냅니다. async 메서드는 반드시 Task 또는 Task를 반환하거나, void를 반환해야 합니다.await 키워드: await 키워드는 비동기 작업이 완료될 때까지 기다립니다. await는 async 메서드 내에서만 사용할 수 있..
LINQ(Language Integrated Query)
·
공부/C#
C#에서 LINQ(Language Integrated Query)는 데이터 쿼리 작업을 더 쉽게 하고, 데이터를 다루기 위해 일관되고 간결한 구문을 제공하는 기능입니다.LINQ는 다양한 데이터 소스(예: 객체 컬렉션, SQL 데이터베이스, XML 문서 등)에 대해 일관된 쿼리 기능을 제공합니다. LINQ의 주요 장점은 다음과 같습니다.일관된 구문: 다양한 데이터 소스에 대해 동일한 구문을 사용할 수 있습니다.강력한 형식 검사: 컴파일 시간에 쿼리를 검사하여 런타임 오류를 줄입니다.가독성 향상: 선언적 스타일의 쿼리 구문으로 코드의 가독성을 향상시킵니다.간편한 데이터 변환: 데이터를 쉽게 필터링, 정렬, 그룹화 및 변환할 수 있습니다.LINQ에는 여러 가지 구현이 있으며, 대표적으로 다음과 같은 것들이 있..
C# Packet Generator
·
공부/C#
C#에서 패킷 제너레이터(Packet Generator)는 네트워크 통신에서 데이터 패킷을 생성하고 관리하는 도구 또는 라이브러리를 의미합니다. 이를 통해 네트워크 프로토콜을 구현하거나, 네트워크 통신을 테스트할 수 있습니다. 다음은 C#에서 패킷 제너레이터에 대한 일반적인 개요입니다.1. 패킷 제너레이터의 주요 기능패킷 생성: 다양한 네트워크 프로토콜(TCP, UDP, ICMP 등)의 패킷을 생성합니다.패킷 수정: 생성된 패킷의 내용을 변경할 수 있습니다.패킷 전송: 네트워크를 통해 생성된 패킷을 전송합니다.패킷 캡처: 네트워크에서 수신된 패킷을 캡처하여 분석할 수 있습니다.프로토콜 구현: 사용자 정의 프로토콜을 구현하여 테스트할 수 있습니다.2. 서버 코드서버는 클라이언트로부터 패킷을 수신하고, 수신..
BitConverter란?
·
공부/C#
BitConverter 클래스는 다양한 데이터 타입을 바이트 배열로 변환하거나 그 반대로 변환하는 데 사용됩니다.이 클래스는 주로 네트워크 프로토콜, 파일 입출력, 데이터 직렬화 등에 사용됩니다.BitConverter를 통해 데이터 타입을 바이트 배열로 변환하면, 바이트 단위로 데이터를 저장하거나 전송할 수 있습니다. 주요 메서드1. BitConverter.GetBytes이 메서드는 기본 데이터 타입을 바이트 배열로 변환합니다. 지원하는 타입은 다음과 같습니다:boolcharshortintlongushortuintulongfloatdoubledecimal2. BitConverter.ToBoolean바이트 배열에서 bool 값을 추출합니다.3. BitConverter.ToChar바이트 배열에서 char 값..
패킷(Packet)
·
공부/C#
패킷(Packet)은 데이터 통신에서 정보를 전송하기 위해 쪼개진 작은 데이터 조각입니다. 네트워크에서 데이터를 전송할 때 큰 데이터를 작은 단위로 나누어 전송하는 것이 효율적이기 때문에 패킷을 사용합니다. 패킷은 네트워크를 통해 전송되고 목적지에서 재조립되어 원래의 데이터를 복원합니다.패킷의 구성 요소헤더(Header): 패킷의 시작 부분으로, 제어 정보를 포함합니다. 헤더는 발신지와 목적지 주소, 패킷 번호, 프로토콜 정보, 오류 검출 코드 등 중요한 정보를 담고 있습니다.페이로드(Payload): 실제 전송되는 데이터 부분입니다. 사용자 데이터 또는 응용 프로그램 데이터가 포함됩니다.트레일러(Trailer): 데이터의 끝 부분으로, 오류 검출 및 수정 정보를 포함할 수 있습니다. 모든 패킷이 트레일..
Session 이란?
·
공부/C#
C#에서 세션(Session)은 웹 애플리케이션에서 사용자별로 유지되는 서버 측 상태 저장 방식을 의미합니다. ASP.NET에서는 HttpSessionState 클래스를 사용하여 세션을 관리합니다. 세션은 웹 애플리케이션에서 사용자의 상태와 데이터를 유지하는 데 유용하며, 사용자 인증, 장바구니, 사용자 설정 등 다양한 용도로 사용됩니다.세션의 기본 개념상태 유지: HTTP는 본래 상태를 유지하지 않는(stateless) 프로토콜입니다. 세션은 이를 보완하여 사용자 상태를 유지합니다.고유 식별자: 세션은 각 사용자에게 고유한 세션 ID를 할당하여 사용자를 구분합니다. 이 세션 ID는 클라이언트의 쿠키에 저장되거나 URL에 포함되어 서버에 전달됩니다.서버 측 저장: 세션 데이터는 서버 측에 저장되며, 각 ..
TCP / UDP
·
공부/C#
TCP(Transmission Control Protocol)와 UDP(User Datagram Protocol)는 인터넷 프로토콜 스위트의 두 가지 주요 전송 계층 프로토콜입니다. 이들은 데이터 전송의 특성과 용도에 따라 각각의 강점을 가지고 있습니다. TCP (Transmission Control Protocol)특징:연결 지향(Connection-oriented): TCP는 데이터 전송 전에 발신자와 수신자 간에 연결을 설정합니다. 이 연결 설정은 "3-way handshake"라고 불리는 세 단계의 절차를 통해 이루어집니다.신뢰성(Reliability): TCP는 데이터 전송의 신뢰성을 보장합니다. 송신자는 수신자로부터 각 패킷에 대한 확인 응답(ACK)을 받아야 합니다. 손실된 패킷은 재전송되며..
소켓
·
공부/C#
소켓 통신은 네트워크 프로그래밍을 통해 클라이언트와 서버 간의 데이터 교환을 가능하게 합니다. 기본 구조서버 (Server):서버는 클라이언트의 연결을 기다리며, 클라이언트와 연결되면 데이터를 주고받습니다.클라이언트 (Client):클라이언트는 서버에 연결을 요청하며, 연결이 성립되면 데이터를 주고받습니다.기본 클래스Socket: 소켓을 생성하고 제어하는 클래스.TcpListener: TCP 서버 소켓을 쉽게 만들기 위한 클래스.TcpClient: TCP 클라이언트 소켓을 쉽게 만들기 위한 클래스.NetworkStream: 소켓에서 데이터 전송을 위해 사용하는 스트림.  서버 예제 using System;using System.Net;using System.Net.Sockets;using System.T..
을지가람
'공부' 카테고리의 글 목록 (3 Page)