본문 바로가기
반응형

전체 글158

c# 채팅프로그램 만들기 - 6 - 소켓통신(TcpListener, TcpClient)을 이용한 채팅프로그램을 만들어보자(콘솔 채팅클라이언트) 채팅프로그램 만들기는 총 12개의 게시글로 구성되어있습니다. 첫번째 게시글 : 1:1단발성통신(동기서버 동기클라) 두번째 게시글 : 1:1지속성통신(동기서버 완성본 동기 클라이언트) 세번째 게시글 : 1:1통신(비동기서버) 네번째 게시글: 1:N통신(여기서부터는 여러명을 받아야하므로 당연히 비동기서버입니다.) 다섯번째 게시글 : 채팅프로그램 콘솔 서버 여섯번째 게시글 : 채팅프로그램 콘솔 클라이언트 일곱번째 게시글 : wpf를 통해 View를 구현한 서버 여덟번째 게시글 : wpf를 통해 View를 구현한 클라이언트(메인화면 만들기) 아홉번째 게시글 : wpf를 통해 View를 구현한 클라이언트(로그인화면 만들기) 열번째 게시글 : wpf를 통해 View를 구현한 클라이언트(채팅상대 선택화면 만들기) 열.. 2020. 8. 20.
c# 채팅프로그램 만들기 - 5 - 소켓통신(TcpListener, TcpClient)을 이용한 채팅프로그램을 만들어보자(콘솔 채팅서버) 채팅프로그램 만들기는 총 12개의 게시글로 구성되어있습니다. 첫번째 게시글 : 1:1단발성통신(동기서버 동기클라) 두번째 게시글 : 1:1지속성통신(동기서버 완성본 동기 클라이언트) 세번째 게시글 : 1:1통신(비동기서버) 네번째 게시글: 1:N통신(여기서부터는 여러명을 받아야하므로 당연히 비동기서버입니다.) 다섯번째 게시글 : 채팅프로그램 콘솔 서버 여섯번째 게시글 : 채팅프로그램 콘솔 클라이언트 일곱번째 게시글 : wpf를 통해 View를 구현한 서버 여덟번째 게시글 : wpf를 통해 View를 구현한 클라이언트(메인화면 만들기) 아홉번째 게시글 : wpf를 통해 View를 구현한 클라이언트(로그인화면 만들기) 열번째 게시글 : wpf를 통해 View를 구현한 클라이언트(채팅상대 선택화면 만들기) 열.. 2020. 8. 12.
c# 채팅프로그램 만들기 - 4 - 소켓통신(TcpListener, TcpClient)을 이용한 1:N 통신을 해보자(쓰레드풀을 활용한 비동기서버) 채팅프로그램 만들기는 총 12개의 게시글로 구성되어있습니다. 첫번째 게시글 : 1:1단발성통신(동기서버 동기클라) 두번째 게시글 : 1:1지속성통신(동기서버 완성본 동기 클라이언트) 세번째 게시글 : 1:1통신(비동기서버) 네번째 게시글: 1:N통신(여기서부터는 여러명을 받아야하므로 당연히 비동기서버입니다.) 다섯번째 게시글 : 채팅프로그램 콘솔 서버 여섯번째 게시글 : 채팅프로그램 콘솔 클라이언트 일곱번째 게시글 : wpf를 통해 View를 구현한 서버 여덟번째 게시글 : wpf를 통해 View를 구현한 클라이언트(메인화면 만들기) 아홉번째 게시글 : wpf를 통해 View를 구현한 클라이언트(로그인화면 만들기) 열번째 게시글 : wpf를 통해 View를 구현한 클라이언트(채팅상대 선택화면 만들기) 열.. 2020. 8. 5.
[c#] 인터페이스 사용법 및 예제 1. 인터페이스란 인터페이스란 추상클래스와 굉장히 유사합니다. 인터페이스에서 몸체없는 메서드를 만들어주고 클래스들에서 상속받아서 사용하곤 합니다. 단 상속받은 클래스들은 인터페이스의 멤버를 반드시 구현해줘야 합니다. 흔히 규격을 만들때 사용한다고 합니다. 아규먼트 패싱을 하는데 주로 사용하며 layer 간 연결을 해주는 역할을 하기도 하며 고수준의 것이 저수준의 것에 의존하지 않게 하기 위해 사용하기도 합니다. 추상클래스와의 차이점은 추상클래스는 다중상속을 지원하지 않지만 인터페이스는 다중상속을 지원하며, 인터페이스 자체로 인스턴스 생성이 안된다는 특징이 있습니다. 저는 참조변수를 통일 시켜 결합도를 낮추는데 쓰는 방법을 예제로 만들어 봤습니다. 2. 예제 namespace InterfaceEx { cl.. 2020. 8. 3.
[c#] BeginInvoke사용법 및 예제 -1- 개요 1. Thread 2. lock 3. BeginInvoke(비동기, 스레드풀) 4. BeginInvoke2(비동기 리턴값) 5. BeginInvoke3(콜백) 6. BeginInvoke4(BeginInvoke예제) 이번게시글에서는 BeginInvoke에 대해 알아보겠습니다. BeginInvoke는 delegate와 함께 캡슐화된 예약어입니다. delegate사용법은 아래 게시글을 참고해주세요 c# delegate, event 사용법과 사용예제 delegate는 메서드 대리자입니다. delegate로 메서드 대리자를 선언해주고 원하는 메서드를 참조시킬수 있습니다. 쉽게말하면 함수를 보관하는 통을 만들고(대리자선언) 그 통안에 함수를 넣고 나중 frozenpond.tistory.com 1. 예제 nam.. 2020. 8. 3.
[c#] lock 사용법 및 예제 개요 1. Thread 2. lock 3. BeginInvoke(비동기, 스레드풀) 4. BeginInvoke2(비동기 리턴값) 5. BeginInvoke3(콜백) 6. BeginInvoke4(BeginInvoke예제) 저번 게시글에서 스레드의 사용법을 확인하였습니다. 이번게시글에서는 스레드를 사용할때 주의해야 할 점에 대해 정리합니다. 1. 예제 namespace Increase { class Program { static void Main(string[] args) { Data myData = new Data(); Thread myThread1 = new Thread(MyFunc); Thread myThread2 = new Thread(MyFunc); myThread1.Start(myData); my.. 2020. 8. 3.
[c#] 스레드(Thread)사용법 및 예제 개요 1. Thread 2. lock 3. BeginInvoke(비동기, 스레드풀) 4. BeginInvoke2(비동기 리턴값) 5. BeginInvoke3(콜백) 6. BeginInvoke4(BeginInvoke 예제) 이번 게시글에서는 스레드에 대해 정리합니다. 들어가기 앞서 프로세스와 스레드가 무엇인지 간단히 알아보고 코드를 보겠습니다. 프로세스란 메모리에 적재된 실행되는 프로그램을 말하며(프로세스는 데스크탑 애플리케이션, 백엔드 애플리케이션 그 자체를 말합니다) 스레드란 프로세스 내부에서 생성되는 실제로 작업을 하는 주체를 말합니다. 하나의 프로세스는 여러개의 스레드를 가질 수 있으며 같은 프로세스안에 있는 스레드들은 코드, 데이터, 힙 영역은 공유하고 스택은 각각 따로 할당된다는 특징이 있습니다.. 2020. 7. 30.
[c#] Try Catch 사용법 및 예제 try catch에 대해 정리합니다. 0으로 나누려 했거나, 배열의 인덱스가 벗어났다던가 등등 이러면 예외가 나서 try catch에서 잡아야 한다..등등 그러나 try catch가 정확히 어디에? 어떤부분이 좋아서 쓰는건지는 잘 와닿지 않습니다. 이번게시글에서 try catch의 용도를 확인해보고 try catch를 사용해서 예외를 잡는경우와 if를 통해 예외를 잡는방법 및 장단점을 확인해보겠습니다. 1. 예제 static void Main(string[] args) { int[] myArray = new int[3]; myArray[0] = 10; myArray[1] = 20; myArray[2] = 30; Console.WriteLine("0~2 사이의 숫자를 입력하세요"); string a = C.. 2020. 7. 28.
c# 채팅프로그램 만들기 - 3- 소켓통신(TcpListener, TcpClient)을 이용한 1:1 통신을 해보자(쓰레드풀을 활용한 비동기서버) 채팅프로그램 만들기는 총 12개의 게시글로 구성되어있습니다. 첫번째 게시글 : 1:1단발성통신(동기서버 동기클라) 두번째 게시글 : 1:1지속성통신(동기서버 완성본 동기 클라이언트) 세번째 게시글 : 1:1통신(비동기서버) 네번째 게시글: 1:N통신(여기서부터는 여러명을 받아야하므로 당연히 비동기서버입니다.) 다섯번째 게시글 : 채팅프로그램 콘솔 서버 여섯번째 게시글 : 채팅프로그램 콘솔 클라이언트 일곱번째 게시글 : wpf를 통해 View를 구현한 서버 여덟번째 게시글 : wpf를 통해 View를 구현한 클라이언트(메인화면 만들기) 아홉번째 게시글 : wpf를 통해 View를 구현한 클라이언트(로그인화면 만들기) 열번째 게시글 : wpf를 통해 View를 구현한 클라이언트(채팅상대 선택화면 만들기) 열.. 2020. 7. 27.
반응형