Cosmos/source/Boot/Playgrounds/Kudzu UDP/Form1.cs

48 lines
1.7 KiB
C#

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e) {
var xSocket = new Socket(AddressFamily.InterNetwork
, SocketType.Dgram, ProtocolType.Udp);
xSocket.EnableBroadcast = true;
var xIP = IPAddress.Broadcast;
var xEndPoint = new IPEndPoint(xIP, 2222);
byte[] xBytes = new byte[1];
xBytes[0] = 22;
xSocket.SendTo(xBytes, xEndPoint);
}
UdpState mUdpState = new UdpState();
protected class UdpState {
public IPEndPoint EndPoint;
public UdpClient Client;
}
private void button2_Click(object sender, EventArgs e) {
mUdpState.EndPoint = new IPEndPoint(IPAddress.Any, 2222);
mUdpState.Client = new UdpClient(mUdpState.EndPoint);
mUdpState.Client.BeginReceive(new AsyncCallback(UdpReceive), mUdpState);
//Dispatcher.BeginInvoke(DispatcherPriority.Input, new XPTDataDelegate(XPTData), xBytes);
}
public void UdpReceive(IAsyncResult aResult) {
var xState = (UdpState)aResult.AsyncState;
var xBytes = xState.Client.EndReceive(aResult, ref xState.EndPoint);
// Dispatcher.BeginInvoke(DispatcherPriority.Input, new XPTDataDelegate(XPTData), xBytes);
}
}
}