终于看到 protected 关键字的使用了!
终于看到 protected 关键字的使用了!
创建类库就是要 .NET Framework ,不是 Standard
TCP三次握手.稳定.发送消息会等待响应,未响应的话会等待,时间过了会再次发送;
比例:张三:李四在吗?李四:在!
UDP就是快,但是不稳定
张三:李四你快递!我走了.
1 同步处理,异步处理
Socket(IP类型,数据类型,传递协议)
AddressFamily.
socketype.stream.数据流
投递, //有可能丢失
UDB的话可以用
Protocol.传递协议
要设置绑定协议.
IPAdress .Parse() 会将IP解析为字符串
服务器,客户端
Socket.Bind()//绑定IP和端口号.
Socket.Connect(new ipendpoint(IP,端口) )//简历链接
接受btye
使用异步加载
县级那一个StartServerSync//同步
StartServerAsync//异步
byte buffer
传递数组,偏移(0-size),socketFlags.none,object State(定位一个方法)
ReceiverCallBack(IAsyncResult ar )//IasyncResule.参数
粘包.与分包
是一种优化机制.
粘包,调用的数据非常小,有非常多的时候,会把数据进行结合
分包,数据量很大的时候,会分开发送
分包可能导致问题就是文字丢失,因为超过了
字符串类型转化为字节
int32转化为字节.也能用Utf8
BitConverter.getbytes;处理的全是值类型转化的东西都是4个字节
bitConvertr.toint32
converter转化器
Encoding.Utf8.GetBytes();只支持引用类型;int 这些值类型不支持,
Concat()可以连接两个数列
concat.toarry;转化为数组
起初的Server命名空间与Server类重名了,导致后面引用时分不清是命名空间还是类。提早讲Server命名空间改为Servers
修改解析Message类来解析 RequestCode 和 ActionCode
给 Message 增加 Action<> 去调用 Client 中的回调函数
枚举类型不能用 as 转型,要用 (class) 强制转型!
前面数据封包拼接数组时报错了,在此修复。
前面common创建创建时要选DotnetFramework的
客户端消息的 封装 解析 的修改。
因为游戏问题可能经常发起请求,所以让request保持继承自MonoBehaviour
Awake 是最先执行
因为BaseRequest继承自MonoBehaviour,所以BaseRequest是不能new的,只能通过unity来帮我们实例化,那我们怎么实例化Request呢??
将 GameFacade 设置成单例模式,但是因为 GameFacade 继承自 MonoBehaviour ,所以它的单例模式的设计有点儿特殊,这里设计精巧,多多复习!
场景相机漫游,创建动画。
给按钮创建动画
给按钮添加阴影
点击显示登录面板,按住 alt 整体缩放面板