//สุธี พวงสง่า 4966261176
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class UdpClient
{
static void Main(string[] args)
{
byte[] data = new byte[1024];
Socket server;
int port = 9000;
while (true)
{
IPEndPoint ipep = new IPEndPoint(
IPAddress.Parse("10.4.8.79"), port);
server = new Socket(AddressFamily.InterNetwork,
SocketType.Dgram, ProtocolType.Udp);
string msg = "4966261176";
data = Encoding.ASCII.GetBytes(msg);
server.SendTo(data, data.Length, SocketFlags.None, ipep);
Console.WriteLine(port.ToString());
IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
EndPoint tmpRemote = (EndPoint)sender;
data = new byte[1024];
try
{
int recv = server.ReceiveFrom(data, ref tmpRemote);
if (recv > 0)
{
Console.WriteLine("Message received from {0}:", tmpRemote.ToString());
// Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));
break;
}
}
catch { }
port++;
}
Console.WriteLine("Stopping client");
server.Close();
}
}
using
System;using
System.Collections.Generic;using
System.Text;using
System.Net;using
System.Net.Sockets;namespace
client{
class Program{
private static byte[] data = new byte[1024]; private static IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0); private static EndPoint Remote = (EndPoint)sender; private static int size = 30; private static int AdvSndRcvData(Socket s, byte[] message,EndPoint rmtdevice){
int recv = 0; int retry = 0; while (true){
try{
s.SendTo(message, message.Length,
SocketFlags.None, rmtdevice);data =
new byte[size];recv = s.ReceiveFrom(data,
ref Remote);}
catch (SocketException e){
if (e.ErrorCode == 10054)recv = 0;
else if (e.ErrorCode == 10040){
Console.WriteLine("Error receiving packet");size += 10;
recv = 0;
}
}
if (recv > 0){
return recv;}
else{
retry++;
if (retry > 3){
return 0;}
}
}
}
static void Main(string[] args){
string input, stringData; int recv; for (int i = 9000; i < 9500; i++){
server.SetSocketOption(
SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 100);sockopt = (
int)server.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout); string welcome = "5066262154";data =
Encoding.ASCII.GetBytes(welcome);recv = AdvSndRcvData(server, data, ipep);
if (recv > 0){
stringData =
Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(ipep + " yes"); Console.WriteLine(stringData); return;}
server.Close();
}
}
}
}
using
System.Net;using
System.Net.Sockets;using
System.Text;class
{
public static void Main(){
byte[] data = new byte[30]; string input, stringData; for (int i = 9000; i <= 9999; i++){
Console.WriteLine(i);data =
server.SendTo(data, data.Length,
SocketFlags.None, ipep);data =
new byte[30]; // int recv = server.ReceiveFrom(data, ref tmpRemote); //Console.WriteLine("Message received from {0}:", tmpRemote.ToString()); // Console.WriteLine(Encoding.ASCII.GetString(data, 0, recv));}
/* while (true){
input = Console.ReadLine();
if (input == "exit")
break;
server.SendTo(Encoding.ASCII.GetBytes(input), tmpRemote);
data = new byte[30];
recv = server.ReceiveFrom(data, ref tmpRemote);
stringData = Encoding.ASCII.GetString(data, 0, recv);
Console.WriteLine(stringData);
}*/
Console.WriteLine("Stopping client"); // server.Close();}
}
using
System;using
System.Net;using
System.Net.Sockets;using
System.Text;class
{
private byte[] data = new byte[1024];{
int recv = 0; int retry = 0; while (true){
p++;
rmtdevice = ipep;
{
s.SendTo(message, message.Length,
SocketFlags.None, rmtdevice);data =
new byte[size];recv = s.ReceiveFrom(data,
ref Remote);}
catch (SocketException e){
if (e.ErrorCode == 10054)recv = 0;
else if (e.ErrorCode == 10040){
Console.WriteLine("Error receiving packet");size += 10;
recv = 0;
}
}
if (recv > 0){
return recv;}
else{
retry++;
{
return 0;}
}
}
}
public static void Main(){
server.SetSocketOption(
SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, 3000);sockopt = (
int)server.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout); Console.WriteLine("New timeout: {0}", sockopt);data =
recv = AdvSndRcvData(server, data, ipep);
if{
stringData =
Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringData);}
else{
Console.WriteLine("Unable to communicate with remote host"); return;}
{
input =
Console.ReadLine(); if (input == "exit") breakrecv = AdvSndRcvData(server,
Encoding.ASCII.GetBytes(input), ipep); if (recv > 0){
stringData =
Encoding.ASCII.GetString(data, 0, recv); Console.WriteLine(stringData);}
else Console.WriteLine("Did not receive an answer");}
server.Close();
}
}