이 내용은 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 |