Introduction
The Client Code
{codecitation class="brush: csharp; gutter: true;" width="500px"}
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Threading; using System.Net;
namespace NoticeSystemClient { public partial class MainForm : Form { public delegate void ShowMessage(string message); public ShowMessage myDelegate; Int32 port = 11000; UdpClient udpClient = new UdpClient(11000); Thread thread; public MainForm() { //CheckForIllegalCrossThreadCalls = false; InitializeComponent(); }
private void MainForm_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Escape) { thread.Abort(); udpClient.Close(); Close(); } }
private void ReceiveMessage() { while (true) { IPEndPoint remoteIPEndPoint = new IPEndPoint(IPAddress.Any, port); byte[] content = udpClient.Receive(ref remoteIPEndPoint); if (content.Length > 0) { string message = Encoding.ASCII.GetString(content); this.Invoke(myDelegate, new object[] { message }); } } }
private void ShowMessageMethod(string message) { richText.Text = message; }
private void MainForm_Load(object sender, EventArgs e) { myDelegate = new ShowMessage(ShowMessageMethod); thread = new Thread(new ThreadStart(ReceiveMessage)); thread.IsBackground = true; thread.Start(); } } }
{/codecitation}
The Server Side Code: {codecitation class="brush: csharp; gutter: true;" width="500px"} using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Net.Sockets; using System.Net;
namespace NoticeSystem { public partial class MainForm : Form { UdpClient udpClient = new UdpClient(); public MainForm() { InitializeComponent(); }
private void btnClose_Click(object sender, EventArgs e) { udpClient.Close(); Close(); }
private void btnSend_Click(object sender, EventArgs e) { Int32 port = 11000; IPAddress ip = IPAddress.Parse(txtStartIP.Text.Trim()); IPEndPoint ipEndPoint = new IPEndPoint(ip,port); byte[] content = Encoding.ASCII.GetBytes(richText.Text); try { int count = udpClient.Send(content, content.Length, ipEndPoint); if (count > 0) { MessageBox.Show("Message has been sent.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch { MessageBox.Show("Error occurs.", "Exclamation", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } } } } {/codecitation}
Thank you Amal
|