Проблема: я могу подключиться к машине сервера, подключение работает правильно, отправить сообщение правильно, и когда он не прочитал, не прочитал, что не может прочитать, что не может быть чтению, что не может прочитать. 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
Мобильная версия