原文网址: http://www.cnblogs.com/csdev
Networkcomms 是一款C# 语言编写的TCP/UDP通信框架 作者是英国人 以前是收费的 目前作者已经开源 许可是:Apache License v2
开源地址是:https://github.com/MarcFletcher/NetworkComms.Net
Networkcomms默认使用的序列化器
namespace NetworkCommsDotNet.DPSBase { /// <summary> /// <see cref="DataSerializer"/> using <see href="http://code.google.com/p/protobuf-net/">ProtoBuf-Net</see> to serialize an <see cref="object"/> to bytes /// </summary> [DataSerializerProcessor()] public class ProtobufSerializer : DataSerializer { ; #if ANDROID || iOS [Preserve] #endif private ProtobufSerializer() { } #region Depreciated static DataSerializer instance; /// <summary> /// Instance singleton used to access <see cref="DataSerializer"/> instance. Use instead <see cref="DPSManager.GetDataSerializer{T}"/> /// </summary> [Obsolete("Instance access via class obsolete, use DPSManager.GetDataSerializer<T>")] public static DataSerializer Instance { get { if (instance == null) { instance = GetInstance<ProtobufSerializer>(); //Increase timeout to prevent errors when CPU busy RuntimeTypeModel.Default.MetadataTimeoutMilliseconds = metaDataTimeoutMS; } return instance; } } #endregion #region ISerialize Members /// <inheritdoc /> protected override void SerialiseDataObjectInt(Stream ouputStream, object objectToSerialise, Dictionary<string, string> options) { ProtoBuf.Serializer.NonGeneric.Serialize(ouputStream, objectToSerialise); ouputStream.Seek(, ); } /// <inheritdoc /> protected override object DeserialiseDataObjectInt(Stream inputStream, Type resultType, Dictionary<string, string> options) { return ProtoBuf.Serializer.NonGeneric.Deserialize(resultType, inputStream); } #endregion } }