Есть Два масиива байтов byte Мне их нужно сравнить, если какойто из байтов разный то нужно скинуть по Socket его номер и данные. Как это лучше сделть я не знаю. Пожалуйста, кодом! C#
Code: public static Soket Connect1(string host, int port) { IPAddress[] IPs = Dns.GetHostAddresses(host); Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); Console.WriteLine("Establishing Connection to {0}", host); s.Connect(IPs[0], port); Console.WriteLine("Connection established"); return s; } public static void send(Soket s,byte[] a,byte [] b) { s.Send(a.Where((aj,j)=>aj!=b[j]).ToArray()); } что-то в этом духе
допустим я скидую данные в двухмерный массив int[0][0] - [номер][данные] Как мне потом его скинуть?! Code: s.Send(a.Where((aj,j)=>aj!=b[j]).ToArray()); Bred
если ты "скидуешь" данные в двумерный массив тебе в любом случае придётся либо приводить его к одномерному, либо использовать сериализацию. какой вопрос такое и решение
омг. погугли c# socket, почитай статьи. или доставляет сидеть и таращиться в страницу, ожидая готового кода.
Code: [Serializable] class DistArr { [Serializable] class Pair { public byte first; public byte second; } private Dictionary<int, Pair> distArr; public DistArr(byte[] a, byte[] b) { for (int i = 0; i < a.Length; i++) { if (a[i] != b[i]) { distArr.Add(i, new Pair { first = a[i], second = b[i] }); } } } } Сериализуй и скидывай, на другой стороне принимаешь и десериализуешь. ----------------- http://msdn.microsoft.com/ru-ru/library/ms233836%28VS.90%29.aspx