эй, я пишу в программе Server-Client , но когда мой клиент что-то посылает, он никогда не доходит до моего сервера! Что происходит здесь несетевой поток всегда пуст!
public void Send(string s)
{
char[] chars = s.ToCharArray();
byte[] bytes = chars.CharToByte();
nstream.Write(bytes, 0, bytes.Length);
nstream.Flush();
}
и прием в фоновом потоке, как этот
void CheckIncoming(object dd)
{
RecievedDelegate d = (RecievedDelegate)dd;
try
{
while (true)
{
List<byte> bytelist = new List<byte>();
System.Threading.Thread.Sleep(1000);
int ssss;
ssss = nstream.ReadByte();
if (ssss > 1)
{
System.Diagnostics.Debugger.Break();
}
if (bytelist.Count != 0)
{
d.Invoke(bytelist.ToArray());
}
}
}
catch (Exception exp)
{
MSGBOX("ERROR:\n" + exp.Message);
}
}
ГФСС ИНТ никогда> 1 ???:
Я посылаю, как это
Я должен был предположить, что происходит некоторая скрытая буферизация. Если вы вызываете 'nstream.Close()' его отправляет *, то *? Кроме того, вы должны проверить '> = 0' - как 0 и 1 являются действительными байтами. 'ReadByte' возвращает отрицательный результат, если данные отсутствуют. –