public void sendClient(string text)
{
StringBuilder sb = new StringBuilder();
sb.Append("[");
sb.Append("CLIENT");
sb.Append("] ");
sb.Append(text);
richTextBox1.Invoke((MethodInvoker)delegate { richTextBox1.AppendText(sb.ToString() + @"\par\r\n") ; });
}
Я также пытался использовать Environment.NewLine
, но у меня ничего не получается. Для свойства Multiline
установлено значение true.
Хорошо, у меня есть класс NamedPipeServer в конструкторе этого класса, который я передаю mainform, как при использовании (..., форма mainForm), а затем использую
string bruh = encoder.GetString(Rc, 0, ReadLength).ToString();
main.sendClient(bruh)
Но я думаю, что строка "Брю" отрицает перевод строки.
потому что, когда я просто пытаюсь отправить через "Hy" в main.sendClient это работает
работает отлично
Также пробовал = bruh = Encoding.ASCII.GetString (Rc); тоже не работал
Я пробовал ASCII, Unicode, UTF8. не работал ни с Environment.NewLine, ни с \ r, ни с \ n.
private void Read()
{
//Client client = (Client)clientObj;
//clientse.stream = new FileStream(clientse.handle, FileAccess.ReadWrite, BUFFER_SIZE, true);
byte[] buffer = null;
ASCIIEncoding encoder = new ASCIIEncoding();
while (true)
{
int bytesRead = 0;
try
{
buffer = new byte[BUFFER_SIZE];
bytesRead = clientse.stream.Read(buffer, 0, BUFFER_SIZE);
}
catch
{
//read error has occurred
break;
}
//client has disconnected
if (bytesRead == 0)
break;
//fire message received event
//if (this.MessageReceived != null)
// this.MessageReceived(clientse, encoder.GetString(buffer, 0, bytesRead));
int ReadLength = 0;
for (int i = 0; i < BUFFER_SIZE; i++)
{
if (buffer[i].ToString("x2") != "cc")
{
ReadLength++;
}
else
break;
}
if (ReadLength > 0)
{
byte[] Rc = new byte[1440];
Buffer.BlockCopy(buffer, 0, Rc, 0, ReadLength);
//Console.WriteLine("C# App: Received " + ReadLength + " Bytes: " + );
//main.sendClient(encoder.GetString(Rc, 0, ReadLength).ToString());
string bruh = Encoding.Unicode.GetString(Rc);
Regex.Replace(bruh, @"[^\x20-\x7F]", "");
main.sendClient(bruh + "\r\n");
buffer.Initialize();
}
}
//clean up resources
clientse.stream.Close();
clientse.handle.Close();
}
^ это целая функция на стороне c #