Thread.Sleep(3000); //TextBox2.Text = "向客户端发送数据:............................."; //Console.WriteLine("向客户端发送数据:............................."); udpClient.Connect(Dns.GetHostName().ToString(), 11000); // Sends a message to the host to which you have connected. string sendStr = "我来自服务器端:" + DateTime.Now.ToString(); Byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr); //Byte[] sendBytes = Encoding.ASCII.GetBytes(sendStr); 此处若用ASCII,不能正确处理中文 udpClient.Send(sendBytes, sendBytes.Length); //Console.WriteLine("This is the message server send: " + sendStr); //TextBox3.Text = "This is the message server send: " + sendStr; } while (returnData != "client_end"); } catch (Exception e) { //Console.WriteLine(e.ToString()); } }
public void Main()
{
try
{ UdpClient udpClient = new UdpClient(12000); string returnData = "client_end"; do
{ //Console.WriteLine("服务器端接收数据:............................."); IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); // 此处通过引用传值,获得客户端的IP地址及端口号 Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); //此处获得客户端的数据 returnData = Encoding.UTF8.GetString(receiveBytes); //Encoding.ASCII.GetString(receiveBytes); 此处若用ASCII,不能正确处理中文
Thread.Sleep(3000);
//TextBox2.Text = "向客户端发送数据:.............................";
//Console.WriteLine("向客户端发送数据:............................."); udpClient.Connect(Dns.GetHostName().ToString(), 11000); // Sends a message to the host to which you have connected. string sendStr = "我来自服务器端:" + DateTime.Now.ToString(); Byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr); //Byte[] sendBytes = Encoding.ASCII.GetBytes(sendStr); 此处若用ASCII,不能正确处理中文 udpClient.Send(sendBytes, sendBytes.Length); //Console.WriteLine("This is the message server send: " + sendStr);
//TextBox3.Text = "This is the message server send: " + sendStr;
} while (returnData != "client_end"); } catch (Exception e)
{ //Console.WriteLine(e.ToString()); } }
public void Main()
{
FileStream fs = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("--------运行到哪里了:1--------" + DateTime.Now.ToString() + "\n");
m_streamWriter.Flush();
m_streamWriter.Close();
fs.Close();
try
{
FileStream fs2 = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWrite2 = new StreamWriter(fs2);
m_streamWrite2.BaseStream.Seek(0, SeekOrigin.End);
m_streamWrite2.WriteLine("--------运行到哪里了:2--------" + DateTime.Now.ToString() + "\n");
m_streamWrite2.Flush();
m_streamWrite2.Close();
fs2.Close();
UdpClient udpClient = new UdpClient(12000);
FileStream fs22 = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWrite22 = new StreamWriter(fs22);
m_streamWrite22.BaseStream.Seek(0, SeekOrigin.End);
m_streamWrite22.WriteLine("--------运行到哪里了:22--------" + DateTime.Now.ToString() + "\n");
m_streamWrite22.Flush();
m_streamWrite22.Close();
fs22.Close();
string returnData = "client_end"; do
{ //Console.WriteLine("服务器端接收数据:.............................");
FileStream fs222 = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWrite222 = new StreamWriter(fs222);
m_streamWrite222.BaseStream.Seek(0, SeekOrigin.End);
m_streamWrite222.WriteLine("--------运行到哪里了:222--------" + DateTime.Now.ToString() + "\n");
m_streamWrite222.Flush();
m_streamWrite222.Close();
fs222.Close();
IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0);
FileStream fs2222 = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWrite2222 = new StreamWriter(fs2222);
m_streamWrite2222.BaseStream.Seek(0, SeekOrigin.End);
m_streamWrite2222.WriteLine("--------运行到哪里了:2222--------" + DateTime.Now.ToString() + "\n");
m_streamWrite2222.Flush();
m_streamWrite2222.Close();
fs2222.Close();
// 此处通过引用传值,获得客户端的IP地址及端口号 Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); //此处获得客户端的数据
FileStream fs22222 = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWrite22222 = new StreamWriter(fs22222);
m_streamWrite22222.BaseStream.Seek(0, SeekOrigin.End);
m_streamWrite22222.WriteLine("--------运行到哪里了:22222--------" + DateTime.Now.ToString() + "\n");
m_streamWrite22222.Flush();
m_streamWrite22222.Close();
fs22222.Close();
returnData = Encoding.UTF8.GetString(receiveBytes); //Encoding.ASCII.GetString(receiveBytes); 此处若用ASCII,不能正确处理中文 //Console.WriteLine("This is the message server received: " + returnData.ToString()); Thread.Sleep(3000);
//Console.WriteLine("向客户端发送数据:............................."); udpClient.Connect("192.168.1.33", 11000); // Sends a message to the host to which you have connected. string sendStr = "服务器时间:" + DateTime.Now.ToString(); Byte[] sendBytes = Encoding.UTF8.GetBytes(sendStr); //Byte[] sendBytes = Encoding.ASCII.GetBytes(sendStr); 此处若用ASCII,不能正确处理中文 udpClient.Send(sendBytes, sendBytes.Length); } while (returnData != "client_end"); } catch (Exception e)
{
FileStream fs3 = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWrite3 = new StreamWriter(fs3);
m_streamWrite3.BaseStream.Seek(0, SeekOrigin.End);
m_streamWrite3.WriteLine("--------运行到哪里了:3--------" + DateTime.Now.ToString() + "\n");
m_streamWrite3.Flush();
m_streamWrite3.Close();
fs3.Close();
EventLogError(e);
return; } }
public void EventLogError(Exception ex)
{
//string path = service.CreateFolder() + "\\" + "log.txt";
FileStream fs = new FileStream("D:\\log.txt", FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("--------出现异常--------" + DateTime.Now.ToString() + "\n");
m_streamWriter.WriteLine(ex.ToString() + "\n");
m_streamWriter.Flush();
m_streamWriter.Close();
fs.Close();
}
IPEndPoint RemoteIpEndPoint = null;
Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint);
然后你就可以设置断点,写一个三四行的客户端测试程序来向这个端口发送数据,看看断点是否中断、中断时receivBytes内容是什么。其它的代码能删除就删除吧,我看着乱,无暇找它们的bug。实际产品中不应该有这么多无意义的代码。