Как разместить прослушиватель .net tcpclient на виртуальной машине AzureC#

Место общения программистов C#
Ответить
Гость
 Как разместить прослушиватель .net tcpclient на виртуальной машине Azure

Сообщение Гость »


Я написал прослушиватель TCPClient для прослушивания определенного порта, который будет отправлять на него данные HL7. Локальный код работает нормально, но при развертывании на виртуальной машине Azure возникают проблемы.

Как развернуть TCPClientListner на виртуальной машине Azure. Должен ли это быть веб-сервис или рабочий процесс?

Я лазил по сети, но не смог найти решение. Также похоже, что есть еще один вариант развертывания в облачных сервисах.

https://cuteprogramming.blog/2018/01/07 ... t-devices/

Программа общедоступного класса{ static void Main(string[] args) { var хост = Host.CreateDefaultBuilder(args).ConfigureAppConfiguration((hostContext, config) => { config.AddJsonFile("appsettings.json", необязательно: false, reloadOnChange: true); }).Строить(); var config = host.Services.GetRequiredService(); строка IpAddress = config["IpAddress"]; int port = Convert.ToInt32(config["порт"]); TcpListener нашTcpListener; пытаться { // Создаем TCPListener для приема клиентских подключений через порт 1080 нашTcpListener = новый TcpListener(IPAddress.Parse(IpAddress), порт); //начинаем слушать нашTcpListener.Start(); Console.Write($"Запущен прослушиватель TCP...{ourTcpListener.LocalEndpoint}"); } поймать (исключение ex) { //если при запуске прослушивателя произошла ошибка, выводим сообщение об ошибке и выходим Console.WriteLine(ex.Message); возвращаться; } вар полученныйByteBuffer = новый байт [200]; для (; ; ) { // Запускаем цикл прослушивания навсегда // это продолжит принимать и обслуживать клиентские соединения TcpClient AcceptTcpClient = null; NetworkStream netStream = ноль; пытаться { Console.Write("Ожидание входящих клиентских подключений..."); AcceptTcpClient = нашTcpListener.AcceptTcpClient(); // Получаем клиентское соединение netStream = AcceptTcpClient.GetStream(); Console.Write("Обработка входящего клиентского соединения..."); // Продолжаем получать данные от клиента, закрываем соединение вар totalBytesReceivedFromClient = 0; int байтыполучено; // Счетчик полученных байт while ((bytesReceived = netStream.Read(receivedByteBuffer, 0, полученныйByteBuffer.Length)) > 0) { если (netStream.CanWrite) { //отправляем полученные данные обратно клиенту netStream.Write(receivedByteBuffer, 0, bytesReceived); } totalBytesReceivedFromClient += bytesReceived; } вар полученное сообщение = Encoding.UTF8.GetString(receivedByteBuffer); Console.WriteLine("Полученные сообщения:{0}", gotMsg); Console.WriteLine("Отправлено {0} байт обратно клиенту.", totalBytesReceivedFromClient); } поймать (Исключение e) { //выводим любые исключения во время связи с консолью Console.WriteLine(e.Message); } окончательно { // Закрываем поток и соединение с клиентом netStream?.Close(); netStream?.Dispose(); AcceptTcpClient?.Close(); } } }
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»