コード例 #1
0
    public void writePrimitive(DatagramOut dg, string type_n, object value)
    {
        switch (type_n)
        {
        case "uint8":
            dg.Write((Byte)value);
            break;

        case "uint16":
            dg.Write((UInt16)value);
            break;

        case "uint32":
            dg.Write((UInt32)value);
            break;

        case "uint64":
            dg.Write((UInt64)value);
            break;

        case "int8":
            dg.Write((SByte)value);
            break;

        case "int16":
            dg.Write(Convert.ToInt16(value));              // bad bad bad shadow TODO: properly implement floating types and nuke OTP's math
            break;

        case "int32":
            dg.Write((Int32)value);
            break;

        case "int64":
            dg.Write((Int64)value);
            break;

        case "string":
            dg.Write((String)value);
            break;

        case "blob":
            dg.Write((byte[])value);
            break;

        case "float64":
            dg.Write((double)value);
            break;

        default:
            Debug.Log("Writing Error: Type '" + type_n + "' is not a primitive");
            break;
        }
    }
コード例 #2
0
 public void sendClientHello(string version, UInt32 dcHash)
 {
     odgram.Write((UInt16)MessageTypes.CLIENT_HELLO);
     odgram.Write(dcHash);
     odgram.Write(version);
     sout.Flush(writer);
 }