Хотя следующий вызов метода:
GlobalCacheAdaptor.Instance.SendIR("sendir," + activeRoom[3] + ",1,40000,4,1,21,181,21,181,21,181,21,181,21,181,21,181,21,181,21,181,21,181,21,181,21,181,21,800" + Environment.NewLine);
отлично работает при вызове из одной части моего приложения на C #, к сожалению, тот же вызов метода завершается неудачно и возвращает исключение, утверждающее, что "socket (_deviceSocket") не может быть нулевым "при вызове из другой части моего приложения.
public void SendIR(string message)
{
try
{
var stream = new NetworkStream(_deviceSocket);
var reader = new StreamReader(stream);
var writer = new StreamWriter(stream) {NewLine = "\r", AutoFlush = true};
_deviceWriter = writer;
_detectedRelayModule = -1;
writer.WriteLine(message);
var readerThread = new Thread(ReaderThreadProc) {IsBackground = true};
readerThread.Start(reader);
}
catch (Exception e)
{
MessageBox.Show( e.GetBaseException().ToString());
}
}
Может ли кто-нибудь направить меня в правильном направлении относительно того, что необходимо изменить, чтобы вызов метода работал последовательно во всем приложении?