listener找不到引用怎么办啊?
-----------------------------
把listener做成全局变量?

解决方案 »

  1.   

    //创建服务套接字 
                    TcpListener listener = new TcpListener(ipAdd, port);
    这个在方法里面定义了,只能在这一个方法里面用,所以先声名为全局变量TcpListener listener; 然后在第一个方法里面listener = new TcpListener(ipAdd, port);
      

  2.   

    listener 做成 私有成员
      

  3.   

    楼上正解,把listener定为全局变量即可。
      

  4.   

    TcpListener listener在button_click事件外部定义,试试
      

  5.   

    shadow841112(孤风) 
    你在事件里定义?
    然后在另外个类的方法里引用?直接就引用了?
    对啊 ~就是这样做的~我也觉得不对~但是我不知道改怎么做了~我在一个按钮单击事件中定义的
    TcpListener listener = new TcpListener(ipAdd, port);然后又在一个类的方法中引用的~好像是不行 ~但是谁能找到解决方法啊?
    我觉得我写的这个鼠标事件里面的代码和StartSocketListen()
    里面的代码陷入了一种。。哎 ~
      

  6.   

    学习中... 欢迎加入ASP.NET(C#)学习交流QQ群号:①32801051(已满) ②23222074(请不要两个群都加)
      

  7.   

    改用异步方式吧.效率高一点
    把  Thread thread = new Thread(new ThreadStart(ClientServerForm.StartSocketListen));
                    thread.Start();
    改为:
     
     //监听客户端连接请求 
                listener.BeginAcceptSocket(new AsyncCallback(clientConnect), listener); private void clientConnect(IAsyncResult ar)
            {
                TcpListener listener = (TcpListener)ar.AsyncState;
                //接受客户的连接,得连接Socket
                Socket client = listener.EndAcceptSocket(ar);
    ...........
    }