我在发送信息到服务端之前进行连接判断 Connect_Socket,如果连接成功则进行信息发送,不知道连接和发送之间要有什么设置,当我中间加个messagebox ,程序很好的,否则程序会死掉//登陆
public string FNLOGIN(string Msg)
{if (Connect_Socket(IpServer,PortServer) ==false)
{ MessageBox.Show("网络没有连接","联欣提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk,
MessageBoxDefaultButton.Button1);
return "";
}string sendMsg="";
string recMsg ="";
string strValue="";
sendMsg=FNPACK(CNDLRZ,CZ_DLRZ,Msg);
//加上这个messgebox 停顿一下程序就可以很好的通讯,否则程序就死掉了?????????????????????????????????????
MessageBox.Show(sendMsg,"联欣提示",MessageBoxButtons.OK,MessageBoxIcon.Asterisk,
MessageBoxDefaultButton.Button1);
recMsg=SendRec(sendMsg); UserNo=FNGETPACK(recMsg,NPSJ);
strValue=FNGETPACK(recMsg,NPFZ); return strValue;
}
public  bool Connect_Socket(String Ip,String Port)
{
try 
{

Int32 port = Int32.Parse(Port);
tcpClient = new TcpClient();
tcpClient.Connect(IPAddress.Parse(Ip), port);
stream = tcpClient.GetStream();
if(this.stream != null) 
{
tcpClient.Close();
return true;
}
else 
{
stream.Close();
tcpClient.Close();
return false;
}


catch(IndexOutOfRangeException ioorex) 
....

解决方案 »

  1.   

    FNPACK和FNGETPACK仅仅是字符窜的组合而已....,请高手指点一下,很急的
      

  2.   

    http://dev.csdn.net/develop/article/61/61951.shtm
      

  3.   

    connect后,判断一下是否连接成功
      

  4.   

    Thread.Sleep(10);我没有定义thread ,另外我具体该怎么改,能不能给完整一点,很急的
      

  5.   

    非常感谢,Thread.Sleep(10)的却可以,不过现在我每一次发送都要判断连接,能否不需要这样,如果再加上sleep(10)速度也是问题,万一10不够大呢,系统不还是死有没有别的更好的方法,能否提供点大虾的例子,我只要客户端
      

  6.   

    建议你使用异步模式,详情请参看MSDN。