示例#1
0
		public static void SendHandshake(IO.Stream stream, ByteField20 infoDigest)
		{
			stream.WriteByte((byte)protocolString.Length);
			stream.Write(System.Text.ASCIIEncoding.ASCII.GetBytes(protocolString), 0, protocolString.Length);

			// 8 zeros
			stream.Write(new byte[] { 0, 0, 0, 0, 0, 0, 0, 0 }, 0, 8);

			// SHA digest
			stream.Write(infoDigest.Data, 0, infoDigest.Data.Length);
		}
示例#2
0
			internal override void Write(IO.Stream ostream)
			{
				ostream.WriteByte((int)'d');
				foreach (BEncode.String key in this.map.Keys)
				{
					key.Write(ostream);
					((BEncode.Element)this.map[key]).Write(ostream);
				}
				ostream.WriteByte((int)'e');
			}
示例#3
0
		private static void SendMessageHeader(IO.Stream stream, PeerMessage type, int length)
		{
//			Config.LogDebugMessage("Message sent: " + type.ToString());

			WriteInt(stream, length+1);
			stream.WriteByte((byte)type);
		}
示例#4
0
			internal override void Write(IO.Stream ostream)
			{
				ostream.WriteByte((int)'l');
				foreach (BEncode.Element element in this.list)
				{
					element.Write(ostream);
				}
				ostream.WriteByte((int)'e');
			}