书接上文。上回说到,ESP8266作为server,电脑作为client。本次谈论unity该怎么接的问题。
为了代码和脚本可读性比较强起见,单独整一个class。在class里面放置特殊的、只用于接收TCP连接的一个线程。
那么client端在TCP连接中的主要任务就是两个:接收和放在缓冲区。
接收:
var client = new TcpClient();
client.Connect("192.168.2.110", 26);
var stream = new StreamReader(client.GetStream());
数据流那些不是需要着重考虑的事情,按下不表。
缓冲区:
主要任务:存数据,读取下一字节,看看读完没有。
var buffer = new List<byte>();
while (client.Connected)
{
var read = stream.Read();
buffer.Add((byte)read);
}
其实就完了。但是一般还是要看一下读取的这个字节还有没有下文,就是尽可能防止出错。在这里进行一些简单的数据处理,最后每次读完再把缓冲区清零,便于下一次读值。