이 내용은 TCP/IP 소켓 프로그래밍 C#을 참고 하였습니다.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Sockets;

namespace FormsSocket
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void button2_Click(object sender, EventArgs e)
{
Application.Exit();
}

private void button1_Click(object sender, EventArgs e)
{
if (textBox1.Text.Length < 1)
{
MessageBox.Show("전송할 메시지가 없습니다.");
return;
}
MsgSend(textBox1.Text);
}


public void MsgSend(string Msg)
{
String server = "192.168.0.60";

byte[] byteBuffer = Encoding.Unicode.GetBytes(Msg);

int servPort = 7;

TcpClient client = null;
NetworkStream netStream = null;

try
{
client = new TcpClient(server, servPort);

IngMsg.Text = "Connected to server ... Sending echo string";

netStream = client.GetStream();
netStream.Write(byteBuffer, 0, byteBuffer.Length);

IngMsg.Text = "Send " + byteBuffer.Length + " bytes to server...";

int totalBytesRcvd = 0;
int bytesRcvd = 0;


while (totalBytesRcvd < byteBuffer.Length)
{
if ((bytesRcvd = netStream.Read(byteBuffer, totalBytesRcvd,
byteBuffer.Length - totalBytesRcvd)) == 0)
{
IngMsg.Text = "Connection closed prematurely.";
break;
}
totalBytesRcvd += bytesRcvd;
}

// textBox2.Text = "Received " + totalBytesRcvd + " bytes from server: " +
textBox2.Text = Encoding.Unicode.GetString(byteBuffer, 0, totalBytesRcvd);
} catch (Exception e) {
IngMsg.Text = e.Message;
} finally {
netStream.Close();
client.Close();
}
}

private void Form1_Load(object sender, EventArgs e)
{
IngMsg.Text = "";

if (textBox1.CanFocus)
{
textBox1.Focus();
}
}
}

}

화면 구성











'C#' 카테고리의 다른 글

C#에서의 상속관련  (0) 2008.11.20
C#에 대한 문서  (0) 2008.06.05
간단한 Class 테스트  (0) 2006.05.29
.NET 기반의 Socket클래스를 이용한 Echo Client 프로그램  (0) 2006.05.29
TcpEchoServer 프로그램  (0) 2006.05.28

+ Recent posts