Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой - C#
Формулировка задачи:
Как сделать так чтобы при подключении нулевого порта выполнялся один цикл кода, а при подключении другого другой. И вообще возможно ли это сделать или нужно в многопоточность углубляться?
Вот код только для нулевого порта. Всяко пытался ничего не получается=(
static void Main(string[] args)
{
IPHostEntry ipHost = Dns.GetHostEntry("localhost");
IPAddress ipAddr0 = ipHost.AddressList[0]; // соединение для 0 порта
// IPAddress ipAddr1 = ipHost.AddressList[1]; // вот типо такого олжно получиться
IPEndPoint ipEndPoint0 = new IPEndPoint(ipAddr0, 11000);
Socket sListener0 = new Socket(ipAddr0.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
try
{
sListener0.Bind(ipEndPoint0);//назначаем порт
sListener0.Listen(10);
// Начинаем слушать соединения
while (true)
{
Console.WriteLine("Ожидаем соединение через порт {0}", ipEndPoint0);
Socket handler = sListener0.Accept();
string data = null;
byte[] bytes = new byte[1024];
int bytesRec = handler.Receive(bytes);
data += Encoding.UTF8.GetString(bytes, 0, bytesRec);
Console.Write("Полученный текст: " + data + "\n\n");
}
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
Console.ReadLine();
}
}Решение задачи: «Сделать так чтобы при подключении нулевого порта выполнялся один цикл кода а при подключении другого - другой»
textual
Листинг программы
byte[] bytes = new byte[1024];
IPHostEntry ipHost = Dns.GetHostEntry("localhost");
// IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(IPAddress.Parse("0.0.0.0"), 11000);// port);
Socket senderr = new Socket(IPAddress.Parse("0.0.0.0").AddressFamily, SocketType.Stream, ProtocolType.Tcp);
senderr.Connect(ipEndPoint);
string cmd;
cmd = tbsyrname.Text;
byte[] msg = Encoding.UTF8.GetBytes(cmd);
int bytesSent = senderr.Send(msg);