C# - Ex08 Client - Server (1ver) 에서
Ex08Server 부분만 변경
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;
//TCP / IP 10/29
namespace Ex08Server
{
class Program
{
static void Main(string[] args)
{
//1. Create Socket
Socket listener = new Socket(
AddressFamily.InterNetwork, //ipv4
//SocketType.Dgram, ProtocolType.Udp//upd 사용
SocketType.Stream, ProtocolType.Tcp);//tcp 사용
//2. Bind (Allocate IP, Port)
IPEndPoint address = new IPEndPoint(
IPAddress.Any, 9999); // 어떤 아이피든 가능 IP주소
//IPAddress.Parse("172.16.77.12"), 9999); // 본인 IP주소
listener.Bind(address);
//3. Listen (Configration)
listener.Listen(10);//최대 연결 대기 클라이언트 갯수
//변경
while (true)
{
//4. Accept (Wait for Client Connection)
Socket socket = listener.Accept();
//5. Receive / Send
NetworkStream stream = new NetworkStream(socket);
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);
String message = reader.ReadLine();
Console.WriteLine("클라이언트 메시지 : {0}", message);
writer.WriteLine(message);
writer.Flush();
reader.Close();
writer.Close();
stream.Close();
socket.Shutdown(
SocketShutdown.Both);//진행중인 작업 정리
socket.Close();
}
//6. Shutdown - Close
listener.Close();
}
}
}
Client 는 글을 쓰고 종료하고 실행을 다시하고 글을 써도 Server에 계속 글을 뛰운다.
'프로그램 > C# - Study' 카테고리의 다른 글
C# - Ex08 Client - Server (1ver) (0) | 2010.10.29 |
---|---|
C# - Ex07 - Brush 다루기 (0) | 2010.10.28 |
C# - Ex06 - 그림판3 (0) | 2010.10.27 |
C# - Ex06 - 그림판2 (3) | 2010.10.27 |
C# - Ex06 - 그림판 (0) | 2010.10.27 |