好了,现在啥数据都能通讯了,功能也都能实现了。。
可是,为毛有时候服务端发了2条数据客户端只收到了一个?有时候服务器发送一条数据客户端居然没反映。
等等,之前咱们定义了byte[] receiveData=new byte[1024],是不是太小了,咱们给他变成2048,4096…………
好吧,现在服务器发送一条数据基本都有反映了,可是为什么有时发两条,却只收一条呢?
来检测下数据包吧,还记得第一篇写的Receive方法吗?
private void Receive(IAsyncResult ar)
{
int size = client.EndReceive(ar);
Debug.Log("收到数据" + size);
if (size < 1)
{
Debug.Log("服务器关闭");
closeConnect();
return;
}
Debug.Log(Encoding.UTF8.GetString(receiveData,0,size));
//Handle Date
client.BeginReceive(receiveData, 0, receiveData.Length, SocketFlags.None, new AsyncCallback(Receive), null);
}
通过Debug,我们发现有的时候收到的是512,有的时候是1024