C#简单组播示例
2011-01-16 16:43
369 查看
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Net.Sockets;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
MultiCastServer server = new MultiCastServer();
MultiCastClient client = new MultiCastClient();
Thread ClientThread = new Thread(new ThreadStart(client.ReceiveData));
ClientThread.Start();
Thread ServerThread = new Thread(new ThreadStart(server.SendData));
ServerThread.Start();
}
}
class MultiCastServer {
private IPAddress multicastIP = IPAddress.Parse("224.110.10.1");
private int port = 5001;
public void SendData()
{
Console.WriteLine("Sender Start");
IPEndPoint multicastIep = new IPEndPoint(multicastIP, port);
UdpClient sendUdpClient = new UdpClient();
sendUdpClient.EnableBroadcast = true;
string sendString = "How are you";
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(sendString);
try
{
sendUdpClient.Send(bytes, bytes.Length, multicastIep);
}
catch
{
Console.WriteLine("send error");
}
finally
{
sendUdpClient.Close();
Console.WriteLine("Sender Close");
}
}
}
class MultiCastClient {
private IPAddress multicastIP = IPAddress.Parse("224.110.10.1");
private int port = 5001;
public void ReceiveData()
{
Console.WriteLine("Reciever Start");
UdpClient receiveUdp = new UdpClient(this.port);
try
{
receiveUdp.JoinMulticastGroup(this.multicastIP,10);
}
catch (SocketException e)
{
Console.WriteLine(e.Message.ToString());
}
IPEndPoint remoteHost = null;
while (true)
{
try
{
byte[] bytes = receiveUdp.Receive(ref remoteHost);
string str = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
Console.WriteLine(str);
}
catch
{
Console.WriteLine("Reciever Close");
break;
}
}
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.IO;
using System.Net.Sockets;
using System.Threading;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
MultiCastServer server = new MultiCastServer();
MultiCastClient client = new MultiCastClient();
Thread ClientThread = new Thread(new ThreadStart(client.ReceiveData));
ClientThread.Start();
Thread ServerThread = new Thread(new ThreadStart(server.SendData));
ServerThread.Start();
}
}
class MultiCastServer {
private IPAddress multicastIP = IPAddress.Parse("224.110.10.1");
private int port = 5001;
public void SendData()
{
Console.WriteLine("Sender Start");
IPEndPoint multicastIep = new IPEndPoint(multicastIP, port);
UdpClient sendUdpClient = new UdpClient();
sendUdpClient.EnableBroadcast = true;
string sendString = "How are you";
byte[] bytes = System.Text.Encoding.UTF8.GetBytes(sendString);
try
{
sendUdpClient.Send(bytes, bytes.Length, multicastIep);
}
catch
{
Console.WriteLine("send error");
}
finally
{
sendUdpClient.Close();
Console.WriteLine("Sender Close");
}
}
}
class MultiCastClient {
private IPAddress multicastIP = IPAddress.Parse("224.110.10.1");
private int port = 5001;
public void ReceiveData()
{
Console.WriteLine("Reciever Start");
UdpClient receiveUdp = new UdpClient(this.port);
try
{
receiveUdp.JoinMulticastGroup(this.multicastIP,10);
}
catch (SocketException e)
{
Console.WriteLine(e.Message.ToString());
}
IPEndPoint remoteHost = null;
while (true)
{
try
{
byte[] bytes = receiveUdp.Receive(ref remoteHost);
string str = Encoding.UTF8.GetString(bytes, 0, bytes.Length);
Console.WriteLine(str);
}
catch
{
Console.WriteLine("Reciever Close");
break;
}
}
}
}
}
相关文章推荐
- WinForm(C#) DataGridView简单应用示例
- C#反射的简单示例
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例
- c#简单的组播例子
- C#接口-简单示例
- 在c#多线程使用IOCP(完成端口)的简单示例
- C# xmlSerializer简单用法示例
- c# winForm 简单的按钮用户控件示例
- C#实现的简单整数四则运算计算器功能示例
- 超简单的话解释C#事件-源码示例
- xmlHTTP xmlDOC 与 C#中DataSet的结合 实现AJAX简单示例
- C# 创建、部署和调用WebService的简单示例
- C#获取Visio模型信息的简单方法示例
- C#中对类的字段、属性、方法的简单示例
- C#摄像头实现拍照功能的简单代码示例
- C#版3DES加密解密简单示例
- C#简单组播例子
- c#简单的组播例子
- asp.net(c#)中使用反射动态加载dll简单示例
- C#调用Python脚本的简单示例