반응형
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; using System.IO; namespace test_client { class SimpleTcpClient { public static void Main() { string data; string input; string ipdata; string portdata; IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050); // ("xxx = IP ") // 네트워크의 끝점을 IP번호와 포트번호 객체화 시킵니다. Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); try { server.Connect(ipep);//server socket에 연결합니다. } catch (SocketException e) { Console.WriteLine("Unable to connect to server."); Console.WriteLine(e.ToString()); return; } //읽고 쓰기위한 스트림을 생성합니다. NetworkStream ns = new NetworkStream(server); StreamReader sr = new StreamReader(ns); StreamWriter sw = new StreamWriter(ns); data = sr.ReadLine(); Console.WriteLine(data); ipdata = sr.ReadLine(); portdata = sr.ReadLine(); //data = sr.ReadLine(); Console.Write("Server Send {0}-{1} <<", ipdata, portdata); sw.Flush(); while (true) { input = Console.ReadLine(); if (input == "exit") break; sw.WriteLine(input); sw.Flush(); data = sr.ReadLine(); Console.WriteLine("Server Receive {0}-{1} << {2} ", ipep.Address, ipep.Port, data); sw.Flush(); Console.Write("Server Send {0}-{1} <<", ipdata, portdata); sw.Flush(); } Console.WriteLine("Disconnecting from server..."); ns.Close(); sw.Close(); ns.Close(); server.Shutdown(SocketShutdown.Both); server.Close(); } } }
출처 : http://keep2smile.tistory.com/trackback/146
반응형
'▩▩ 프로그래밍 ▩▩ > Socket Programming' 카테고리의 다른 글
소켓통신 동기식, 비동기식 (0) | 2013.03.13 |
---|---|
C# 소켓 프로그래밍 완전 기초 ( 서버 프로그램 ) (0) | 2013.03.11 |