TCP IP -клиент в WPF для сервера Ubuntu 14C#

Место общения программистов C#
Ответить
Anonymous
 TCP IP -клиент в WPF для сервера Ubuntu 14

Сообщение Anonymous »

Я пытаюсь создать IP -клиента TCP в wpf gui /c#.net для сервера Ubunu. < /p>
Проблема: я могу подключиться к машине сервера, подключение работает правильно, отправить сообщение правильно, и когда он не прочитал, не прочитал, что не может прочитать, что не может быть чтению, что не может прочитать. Ubuntu Server. На самом деле в сообщении - 102 он должен запустить видео -канал на сервере и вернуть массив байтовых байтов видео, который следует прочитать дальше, и отобразить видео. Код еще не записан, чтобы отобразить видео -канал, так как я не могу прочитать канал с сервера. Тем не менее, клиент правильно отправляет команды (сообщения) на сервер, как упомянуто, может просмотреть его на консоли машины сервера Ubuntu. < /P>
Ниже приведен код, пожалуйста, посмотрите и предложите мне, что я делаю неправильно: < /p>

Код: Выделить всё

namespace POC_TCP_Listener
{
/// 
/// Interaction logic for MainWindow.xaml
/// 
public partial class MainWindow : Window
{
public MainWindow()
{
InitializeComponent();
}
private int WhichEventFired = 0;

private void Button_Click_1(object sender, RoutedEventArgs e)
{
try
{
// string message = "{Site: 1}";
WhichEventFired = 1; //Start Video Feed
Thread ClientThread = new Thread(new ThreadStart(ConnectToServerAndRetrieveBytes));
ClientThread.Start();

}

catch (Exception ex)
{
string st = ex.Message;

}
}

private void ConnectToServerAndRetrieveBytes()
{

TcpClient TCP = new TcpClient();
TCP.Connect("IPAddress", 5001);

byte[] packet;

var size = 9;
var header = 102;
var siteId = 1;
var state = 1;

if (WhichEventFired == 1)
{
header = 102;   // Start Video Feed
}
else if (WhichEventFired == 2)
{
header = 114; // Stop Video Feed
}
else
{
header = 115; // query Temperature
}

//   
packet = BitConverter.GetBytes(size).Reverse().Concat(BitConverter.GetBytes(header).Reverse()).Concat(BitConverter.GetBytes(siteId).Reverse()).Concat(BitConverter.GetBytes(state).Reverse()).ToArray();

// Translate the passed message into ASCII and store it as a Byte array.
Byte[] data = packet;

// Get a client stream for reading and writing.

NetworkStream stream = TCP.GetStream();

// Send the message to the connected TcpServer.

stream.Write(data, 0, data.Length);

byte[] buffer = new byte[64 * 1024];

using (MemoryStream ms = new MemoryStream())
{
int read;
// In the below line - it stops and nothing happens after it - Please Suggest
while ((read = stream.Read(buffer, 0, buffer.Length)) > 0)
{
ms.Write(buffer, 0, read);
}
// return ms.ToArray();
}

stream.Close();
TCP.Close();
}
}
}
Пожалуйста, предложите, почему он перестает работать или дайте мне знать, если я делаю что -то не так.

Подробнее здесь: https://stackoverflow.com/questions/253 ... -14-server
Ответить

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

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

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

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

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