I need to send a response to the client after connecting 1 byte. The client connects, according to the manual, after connecting, I must send a response in the form of one byte (0x01), after sending nothing comes to me. Am I doing right, here's the code:
class Program { static void Main(string[] args) { Receiver(); } public static void Receiver() { byte answer = 0x01; Console.WriteLine("Enter port :"); int port = int.Parse(Console.ReadLine()); TcpListener server = new TcpListener(IPAddress.Any, port); server.Start(); do { Console.WriteLine("ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΉ... "); // ΠΏΠΎΠ»ΡΡΠ°Π΅ΠΌ Π²Ρ
ΠΎΠ΄ΡΡΠ΅Π΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ TcpClient client = server.AcceptTcpClient(); Console.WriteLine("ΠΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ ΠΊΠ»ΠΈΠ΅Π½Ρ. ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΏΡΠΎΡΠ°..."); StreamReader st = new StreamReader(client.GetStream(), Encoding.Default); StreamWriter sr = new StreamWriter(client.GetStream(), Encoding.ASCII); sr.AutoFlush = true; string answerFromBlock; while (client.Connected) { answerFromBlock = st.ReadLine(); if (!String.IsNullOrEmpty(answerFromBlock)) { Console.WriteLine("ΠΡΠ²Π΅Ρ ΠΎΡ Π±Π»ΠΎΠΊΠ°: {0}", answerFromBlock); sr.Write(answer); string path = "logs.txt"; using (StreamWriter writer = new StreamWriter(path, true)) { writer.AutoFlush = true; writer.WriteLine(answerFromBlock); } Console.WriteLine("ΠΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π½ΠΎΠ²ΡΡ
Π΄Π°Π½Π½ΡΡ
."); } } } while (true); } } The client is a GPS unit on the car. My first experience of sending or receiving data.