损失一两亿也不行!!!
损失一两亿也不行!!!
登录UI前两次都可以,第三次开始无法消失的,可能是因为弹出栈时未清除所有的addlistener,导致下一次push的时候addlistener被绑定了多次,所以在loginpanel.cs中onexit函数中加上closeButton.onClick.RemoveAllListeners();
TCP协议的三次握手
我知道为什么第一次服务端没有输出了,因为没写Console.WriteLine(msgReceive);
第一次这么接近老师的水平。。。
4个字节,即255X255X255X255=42 2825 0625,最多能存42亿种方法,太浪费了,2个字节255X255=6 5025 ,足够。
1、客户端不正常关闭可以通过try catch 解决
2、客户端正常close关闭后,服务器端一直接收到空数据。
sql 恶意注入问题
回调方法,结束以后,把信息传递给了clientsocket,再定义一个socket等于ar里返回结果的socket。
(相当于复制下来)。
Send不会堵塞?
UTF8.GetByte()
Socket.Receive()返回一个int型的值(count)。这个值是接受的字符串的长度,以便知道读取多少位,方便数据转化。
实测粘包没有吧一个数据分成一半传输。
我猜解决方案就是在每条消息上,加上标记。
3次for循环,100*100*100次。这增大数据快。
同步,没分包问题?这需要测试下。
siki老师说的对,同步有分包为题,而异步没有。神奇。
面向过程果然不如面向对象。客户端链接过来时,可以在服务器端创建个客户端对象,这样简洁多了。
存在三个问题:
(1)数据处理和数据接收放在一起,数据处理完才去接收数据,会造成数据丢失;
(2)数据处理里面有大量拷贝操作,会严重影响性能,应该把数组看成循环队列(处理复杂一些),或者在剩余空间小于某个数值时,startIndex归零,数据处理每次从缓冲区开头开始循环处理;
(3)数据帧没有固定开头和结尾,仅通过长度判断数据是否接收完整,如果数据长度错位了,所有缓冲区中的数据解析就全错了。
属性可以很好的控制字段的读写,这是修饰符无法做到的
创建Common是请创建Framwork版本,防止后期unity不兼容
找不到Manager可以刷新解决方案,可以不必关闭VS
() =>这个表达示在其他课程里也没有找到,他到底是做什么用的?
为什么服务器端,不能用永真循环而是用回调呢?
1