你form2 的socket是怎么申明的?

解决方案 »

  1.   

    没道理吧Socket是引用没错一定是你的代码什么地方除了问题,你再仔细找找
      

  2.   

    哪可能就是一个"="号就解决问题啊??不然一些东东要实现Clone方法干嘛啊:))至于让他们相等,除了用unsafe传地址外,没有想到好办法.
      

  3.   

    你的第一个socket是form1的字段,而第二个是全局类的字段,当然不同了呀。
    地址,生存期,都不同。
      

  4.   

    我现在在form2中这样解决:
    if(this.form1.socket.Connected)Form2中:
    Form1 form1;
    private Socket socket;Form2构造函数:
    public Form2(Form1 form1)
    {
    this.form1=form1;
    this.socket=this.form1.socket;//new Socket()都不用的
    }
    但form2中socket的Connected和form1 中的socket不一样。
      

  5.   

    忘了,当我form1中socket连接上后,
    bool b1=this.form1.socket.Connected;
    bool b2=this.socket.Connected;
    //b1=true;b2=false;是form2中的代码。
      

  6.   


    form2中的socket和form1中socket 指向同一内存地址;当form1中socket用new 后将不再和form2中的socket一样啦;引用不是别名。(是这样的吧?)结贴。