while(true)
{
byte[]ToServByte=new byte[14];//定义接收的14个字节
socket.Receive(ToServByte); //socket是系统主SOCKET
uint clientCoinTotal;
byte[]clientCoinTotalByte=new byte[4];
for(int x=0;x<4;x++)
clientCoinTotalByte[x]=ToServByte[x+10];
clientCoinTotal=System.BitConverter.ToUInt32(clientCoinTotalByte,0);
listView1.Items[0].SubItems[2].Text=clientCoinTotal.ToString(); //改变分数
this.Refresh();senceCi=senceCi++; //程序到这里不行啦........,变量senceCi不能增加1,下面的
//显示也不行.
if(senceCi>=60)
{
gameCi=System.Convert.ToByte(gameCi+1);
senceCi=0;
}
label2.Text=gameCi.ToString();
label4.Text=senceCi.ToString();
this.sendToClient(socket,getPuContent(),4);// 向客户机发送扑克内容...
//会不会这一句有问题呢????当向客户机发送时,客户机还处于接手状态,怎么处理/?
}
}

解决方案 »

  1.   

    TO:senceCi=senceCi++;改成:senceCi++;
      

  2.   

    为什么呢???
    我总是怀疑客户机处于发送状态,而服务区此时也没处于接收状态,,,
    程序一开始运行到senceCi=senceCi++,服务器程序就死掉了,没反应
      

  3.   

    很明显,你这句有问题啊..你的目的,就是想让senceCi增1,而senceCi++就是表示自增1..
      

  4.   

    senceCi=senceCi++;执行顺序是:
    senceCi先赋值给senceCi,然后senceCi++再自增1..你要么这样senceCi++,要么就用senceCi=senceCi+1;
      

  5.   

    原来这么低级的问题都有,我一直以为我打的是senceCi=senceCi+1;
    呵呵,N遍都没看出来