Professional Documents
Culture Documents
2
using System.Text;
namespace BT2
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
UdpClient udpClient = new UdpClient();
IPAddress ipadd = IPAddress.Parse(textBox1.Text);
int port = Convert.ToInt32(textBox2.Text);
IPEndPoint ipend = new IPEndPoint(ipadd, port);
Byte[] sendBytes = Encoding.UTF8.GetBytes(richTextBox1.Text);
udpClient.Send(sendBytes, sendBytes.Length, ipend);
richTextBox1.Text = "";
}
}
}
Server:
using System.Net.Sockets;
using System.Net;
using System.Text;
namespace Server
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
serverThread();
}
public void serverThread()
{
int port = Convert.ToInt32(textBox1.Text);
UdpClient udpClient = new UdpClient(port);
while (true)
{
IPEndPoint IpEnd = new IPEndPoint(IPAddress.Any, 0);
Byte[] recvBytes = udpClient.Receive(ref IpEnd);
string Data = Encoding.UTF8.GetString(recvBytes);
string mess = IpEnd.Address.ToString() + ":" +
IpEnd.Port.ToString() + ": " + Data.ToString();
textBox2.AppendText(mess + Environment.NewLine);
}
}
}
}
3
2. Ứng dụng chat TCP
- Ảnh chụp màn hình kết quả:
- Source code:
Client:
4
using System;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace APPCHAT_TCP
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private TcpClient client;
private NetworkStream ns;
private void ConnectToServer()
{
try
{
client = new TcpClient("127.0.0.1", 8888);
ns = client.GetStream();
}
catch (Exception ex)
{
MessageBox.Show("Lỗi: " + ex.Message);
}
}
private void SendMessage()
{
try
{
byte[] buffer = Encoding.UTF8.GetBytes(txtMessageToSend.Text);
ns.Write(buffer, 0, buffer.Length);
ns.Flush();
txtReceivedMessages.AppendText("You: " + txtMessageToSend.Text + Environment.NewLine);
txtMessageToSend.Clear();
}
catch (Exception ex)
{
MessageBox.Show("Lỗi: " + ex.Message);
}
}
private void btnSendMessage_Click_1(object sender, EventArgs e)
{
SendMessage();
}
private void btnConnectToServer_Click_1(object sender, EventArgs e)
{
ConnectToServer();
}
}
}
5
Server:
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Windows.Forms;
namespace Server
{
public partial class Form1 : Form
{
private TcpListener server;
private TcpClient client;
private NetworkStream ns;
private Thread listenThread;
public Form1()
{
InitializeComponent();
}
private void StartServer()
{
try
{
server = new TcpListener(IPAddress.Any, 8888);
server.Start();
txtReceivedMessages.AppendText("Server đã bắt đầu. "+ Environment.NewLine);
listenThread = new Thread(new ThreadStart(ListenForClients));
listenThread.Start();
}
catch (Exception ex)
{
MessageBox.Show("Lỗi: " + ex.Message);
}
}
private void btnStartServer_Click(object sender, EventArgs e)
{
StartServer();
}
private void ListenForClients()
{
try
{
client = server.AcceptTcpClient();
ns = client.GetStream();
byte[] receivedBuffer = new byte[1024];
int byte_count;
while ((byte_count = ns.Read(receivedBuffer, 0, receivedBuffer.Length)) > 0)
{
this.Invoke((MethodInvoker)delegate
{
6
string data = Encoding.UTF8.GetString(receivedBuffer, 0, byte_count);
txtReceivedMessages.AppendText("Client: " + data + Environment.NewLine);
});
}
}
catch (Exception ex)
{
MessageBox.Show("Lỗi: " + ex.Message);
}
}
}
}