LAN에서 작동하는 암호화 된 채팅 프로그램을 개발 중이며 파일을 보낼 수 있어야합니다. 문제가 있습니다 : 1 - 채팅 용으로 1 개의 메시지 만 보내고 연결을 닫으면 상대방이 메시지를 수신하기 위해 프로그램을 다시 실행해야합니다.이 메시지는 마치 (닫기를 수신하고 다시 수신함)과 같은 루프에 넣으려고 시도했지만 프로그램이 충돌했습니다.들어오는 데이터를 확인하십시오
파일을 수신하는 데 동일한 문제가 있습니다. ,
이 문제를 어떻게 해결할 수 있습니까? 이것은 코드입니다 IP = textBox2.Text.ToString(); int port = int.Parse (textBox1.Text); IPAddress IP2 = IPAddress.Parse (IP); TcpListener TCPListen = 새 TcpListener (IP2, 포트);
TCPListen.Start();
TcpClient TCP = TCPListen.AcceptTcpClient();
//bool a = false;
NetworkStream NetStream = TCP.GetStream();
//while (!a)
//{
RijndaelManaged RMCrypto = new RijndaelManaged();
byte[] Key = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };
byte[] IV = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x10, 0x11, 0x12, 0x13, 0x14, 0x15, 0x16 };
CryptoStream CryptStream = new CryptoStream(NetStream,
RMCrypto.CreateDecryptor(Key, IV),
CryptoStreamMode.Read);
StreamReader SReader = new StreamReader(CryptStream);
message = SReader.ReadToEnd();
textBox3.Clear();
textBox3.Text = message;
CryptStream.Flush();
SReader.Close();
//encryption(NetStream);
NetStream.Flush();
NetStream.Close();
TCPListen.Stop();
TCP.Close();
그리고 이것은 루프에 있습니다. bool a = false; while (! a) 이는 계속 수행한다는 의미입니다.
우리는 훨씬 더 구체적인 정보가 필요합니다. 프로그램이 어떻게 충돌합니까? 충돌하는 코드는 무엇입니까? – Thomas
명령으로 입력 할 수 없으므로 질문을 편집하여 입력하십시오. – Mohammad
다른 사람에게 알려 주시면 암호화 된 클라이언트로부터 데이터를받는 서버입니다. – Mohammad