반응형
기본적으로 Client에 연결하기 위해 필요한 함수들은 뭐가 있을까?
기본으로 아래 5가지가 필요하다고 생각한다.
1. 연결하기위한 서버측 포트번호
2. 연결하기위한 서버측 주소
3. 클라이언트 오픈을 위한 함수
4. 클라이언트 연결함수
5. 클라이언트 종료함수
한번 코딩해보자고..
class Connection
{
//서버측 포트를 받아오기 위한 변수생성
private int _Port;
//서버측 주소를 받아오기 위한 주소생성
private String _Address;
//TCP클라이언트 연결을 위한 변수 생성
TcpClient Client;
//클라이언트 연결 기준 변수
private Boolean ClientCon = false;
//클라이언트 접속 함수
NetworkStream Stream;
//클라이언트 쓰기 읽기 함수
StreamReader Read;
StreamWriter Write;
//서버측 포트를 받아오기 위한 함수
public int fn_Port(int port)
{
_Port = port;
return _Port;
}
//서버측 주소를 받아오기 위한 함수
public String fn_Add(String address)
{
_Address = address;
return _Address;
}
//클라이언트를 열기위한 함수
public int fn_Open()
{
int iret = 0;
if (!ClientCon)
{
iret = fn_Connection();
}
else
{
fn_DisConnection();
iret = -1;
}
return iret;
}
//클라이언트 연결 함수
public int fn_Connection()
{
int iret = 0;
try
{
if(!ClientCon)
{
// 서버측 주소와 포트를 받아와 연결
Client = new TcpClient(_Address, _Port);
//클라이언트 변수를 통해 스트림 연결(네트워크연결)
Stream = Client.GetStream();
Read = new StreamReader(Stream);
Write = new StreamWriter(Stream);
ClientCon = true;
Console.WriteLine("연결 성공");
}
}
catch
{
ClientCon = false;
iret = -2;
Console.Write("연결 에러");
}
return iret;
}
//클라이언트 종료함수
public int fn_DisConnection()
{
int iret = 0;
ClientCon = false;
try
{
if (Read != null) Read.Close();
if (Write != null) Write.Close();
if (Client != null) Client.Close();
if (Stream != null) Stream.Close();
}
catch
{
iret = -2;
}
return iret;
}
static void Main(string[] args)
{
Connection con = new Connection();
con.fn_Add("");
con.fn_Port();
con.fn_Open();
}
}
[C#] - C# TCP/IP Client Part.2
[C#] - C# TCP/IP Client Part.3
[C#] - C# TCP/IP Client 테스트 소스
반응형
'C#' 카테고리의 다른 글
C# Byte 배열로 형변환 하기 (0) | 2019.07.15 |
---|---|
C# Postgresql 연동하기 (0) | 2019.04.23 |
C# 폼에서 폼으로 파라미터 인수 넘기기 (0) | 2019.04.17 |
C# TCP/IP Client Part.3 (9) | 2019.03.26 |
C# TCP/IP Client Part.2 (0) | 2019.03.22 |