none
c#中winsock服务器端如何返回消息 RRS feed

  • 问题

  • 开发环境:c#2008中文,winsock,XP 系统
    我想用winsock在局域网中传输消息,服务器端侦听,客户端连接后能,对服务器发送数据,服务器端也能接收到,现在的问题是,我想让服务器端接收成功后,返回一个接收成功的信息给客户端,不知道知道怎么返回
    这是服务器端的程序

      //按下监听按钮,开始监听

    private void button1_Click(object sender, EventArgs e)
      {
      Winsock1.LocalPort = Convert.ToInt32(TextBox1.Text);
      Winsock1.Listen();
      butt_Listen.Enabled = false; //hello!This is a socket test 
      }
    private void Winsock1_ConnectionRequest(object sender, AxMSWinsockLib.DMSWinsockControlEvents_ConnectionRequestEvent e)
      {
      try
      {
      Winsock1.Close();
      Winsock1.Accept(e.requestID);
      }
      catch (Exception ex)
      {
      MessageBox.Show(ex.ToString());
      }
      }
      private void Winsock1_DataArrival(object sender, AxMSWinsockLib.DMSWinsockControlEvents_DataArrivalEvent e)
      {
      try
      {
      object data = "";
      Winsock1.GetData(ref data);
      textBox2.Text += (String)data;
      //Winsock1.SendData("OK");
      }
      catch (Exception ex)
      {
      MessageBox.Show(ex.ToString());
      }
      }


    以下是客户端的程序
    //这里开始连接服务器
    private void button1_Click(object sender, EventArgs e)
      {
      try
      {

      Winsock1.Close();
      Winsock1.Connect(IPText.Text, PortText.Text);
      butt_Connect.Enabled = false;
      //Winsock1.Listen();
      }
      catch (Exception ex)
      {
      MessageBox.Show(ex.Message);
      }
      }
      //发送数据
      private void button2_Click(object sender, EventArgs e)
      {
      try
      {
      Winsock1.SendData(SendText.Text);

      }
      catch (Exception ex) { MessageBox.Show(ex.Message); }
      }

      以上程序没有问题,服务器端程序能很好的接收从客户端发来的消息。但怎么返回一个接收成功的消息给客户端呢
    请达人帮我补充一下。

    2012年7月3日 2:51

答案

全部回复