public void sendMsg(JFPackage.IPackage pag) { if (isConnected()) { _net.SendMessage(pag, OnSendSuccess); NetPerformance.timeDelta td = new NetPerformance.timeDelta(); performance.MsgDelta[pag.ID] = td; td.start(); } }
/// <summary> /// Socket发送坐标 /// </summary> void SendPlayerWorldMessage() { //组成新的结构体对象,包括主角坐标旋转等。 Vector3 PlayerTransform = transform.localPosition; Vector3 PlayerRotation = transform.localRotation.eulerAngles; //用short的话是2字节,为了节省包的长度。这里乘以100 避免使用float 4字节。当服务器接受到的时候小数点向前移动两位就是真实的float数据 short px = (short)(PlayerTransform.x * 100); short py = (short)(PlayerTransform.y * 100); short pz = (short)(PlayerTransform.z * 100); short rx = (short)(PlayerRotation.x * 100); short ry = (short)(PlayerRotation.y * 100); short rz = (short)(PlayerRotation.z * 100); byte equipID = 1; byte animationID = 9; byte hp = 2; JFPackage.WorldPackage wordPackage = new JFPackage.WorldPackage(px, py, pz, rx, ry, rz, equipID, animationID, hp); //通过Socket发送结构体对象 mJFsorket.SendMessage(wordPackage); }