Programming/C# 15

MSSQL Database 연동(1)

[ System.Data.SqlClient.SqlConnection ] - Connection String은 app.config에 connectionStrings에 정의해두고 시작한다.(https://staticvoidlife.tistory.com/80) - 아래와 같이 연결하면 된다. 참고로 SqlConnection은 IDisposable 인터페이스를 구현한다. using System; using System.Configuration; using System.Data.SqlClient; class Program { static void Main(string[] args) { string connectionString = ConfigurationManager.ConnectionStrings["TestDB..

Programming/C# 2019.03.05

app.config

[ appSettings ] - CLR보다 그 위에서 실행되는 응용 프로그램에 값을 전달하는 목적으로 사용가능하다.- key와 value로 구성된다. - 사용은 아래와 같이 하면 된다. - 참조 관리자를 통해 Assembly 범주의 "System.Configuration" 을 찾아 참조 추가를 하여야 한다. using System; using System.Configuration; class Program { static void Main(string[] args) { string txt = ConfigurationManager.AppSettings["AdminEmailAddress"]; string txt2 = ConfigurationManager.AppSettings["Delay"]; Console...

Programming/C# 2019.03.05

[네트워크 프로그래밍] Http 통신

- HTTP 통신도 내부적으로 TCP를 이용한다. (일반적으로 포트 = 80) [ System.Net.HttpWebRequest ] - BCL에 정의된 HTTP 관련 타입 using System; using System.IO; using System.Net; class Program { static void Main(string[] args) { // HttpWebRequest 타입은 내부적으로 TCP 소켓을 생성하고 HttpWebRequest req = WebRequest.Create("http://www.naver.com") as HttpWebRequest; // GetResponse 호출 단계에서 지정된 웹 서버로 HTTP 요청을 보내고, 응답을 받는다. HttpWebResponse resp = r..

Programming/C# 2019.03.02

[네트워크 프로그래밍] TCP/IP 예제

- 서버측에서의 Binding까지는 UDP 서버 소켓 사용하는 방법과 동일함. - TCP/IP 통신을 할 때 Socket의 생성자는 아래와 같이 지정한다. Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); - TCP/IP 서버는 아래와 같이 동작함. Binding -> Listen(연결 받을 수 있는 상태) -> Accept(클라이언트 접속 큐에서 하나 꺼내옴) - TCP/IP에서는 Send / Receive를, UDP에서는 SendTo / ReceiveFrom을 사용하여야 한다. 이미 Accept로 클라이언트 소켓 정보를 알고있으므로, Send / Receive에는 접점 정보를 알아내기 ..

Programming/C# 2019.02.27

[네트워크 프로그래밍] UDP 예제

[ 소켓 프로그램 실습 기본 예제 ] - 물리적으로 두 대의 PC를 구할 수 없으므로 아래와 같은 방식으로 구현한다. using System; using System.Net.Sockets; using System.Threading; class Program { static void Main(string[] args) { Thread serverThread = new Thread(serverFunc); serverThread.IsBackground = true; serverThread.Start(); Thread.Sleep(500); // 소켓 서버용 스레드가 실행될 시간을 주기 위해 Thread clientThread = new Thread(clientFunc); clientThread.IsBackgro..

Programming/C# 2019.02.27