using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; namespace TelnetCommunicator.Telnet { public class OneTimeTelnetSender { private AsyncSocketTelnetClient _client; private string _ip; private int _port; private EventHandler _messageCallback; public OneTimeTelnetSender(string ip, int port = 23, EventHandler messageCallback = null) { _ip = ip; _port = port; _client = new AsyncSocketTelnetClient(); _messageCallback = messageCallback; _client.MessageCallback -= _messageCallback; _client.MessageCallback += _messageCallback; } public async void Send(string message) { try { await _client.Connect(_ip, _port, TelnetMode.Once); await _client.SendMessage(message); } catch (Exception ex) { if (_messageCallback != null) _messageCallback(this, ex.Message); } } } }