HOME FORUMS MEMBERS RECENT POSTS LOG IN  
× Авторизация
Имя пользователя:
Пароль:
Нет аккаунта? Регистрация
Баннер 1   Баннер 2
НОВЫЕ ТОРГОВАЯ НОВОСТИ ЧАТ
loading...
Скрыть
Вернуться   ANTICHAT > ПРОГРАММИРОВАНИЕ > С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

C# Socket Send
  #1  
Старый 12.06.2010, 14:42
ShkiperLol
Познающий
Регистрация: 17.04.2010
Сообщений: 38
С нами: 8457471

Репутация: 0
Exclamation C# Socket Send

Есть Два масиива байтов byte
Мне их нужно сравнить, если какойто из байтов разный то нужно скинуть по Socket его номер и данные. Как это лучше сделть я не знаю.

Пожалуйста, кодом! C#

Последний раз редактировалось ShkiperLol; 12.06.2010 в 16:32..
 
Ответить с цитированием

  #2  
Старый 12.06.2010, 15:10
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
С нами: 10661593

Репутация: 88
По умолчанию

разница у вас в каком смысле.
 
Ответить с цитированием

  #3  
Старый 12.06.2010, 15:23
ShkiperLol
Познающий
Регистрация: 17.04.2010
Сообщений: 38
С нами: 8457471

Репутация: 0
По умолчанию

Например

if(byte1[i]!=byte2[i])
{

}
i - номер ; byte1[i] - данные
 
Ответить с цитированием

  #4  
Старый 12.06.2010, 15:33
akimov_aleks
Новичок
Регистрация: 03.05.2009
Сообщений: 22
С нами: 8959525

Репутация: 0
По умолчанию

так они у тебя уже есть. и i - номер ; byte1[i] - данные
если не равны то записывай куда надо...
 
Ответить с цитированием

  #5  
Старый 12.06.2010, 15:36
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
С нами: 10661593

Репутация: 88
По умолчанию

Код:
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());
}
что-то в этом духе
 
Ответить с цитированием

  #6  
Старый 12.06.2010, 15:36
ShkiperLol
Познающий
Регистрация: 17.04.2010
Сообщений: 38
С нами: 8457471

Репутация: 0
По умолчанию

допустим я скидую данные в двухмерный массив int[0][0] - [номер][данные]
Как мне потом его скинуть?!

Код:
s.Send(a.Where((aj,j)=>aj!=b[j]).ToArray());
Bred

Последний раз редактировалось ShkiperLol; 12.06.2010 в 15:40..
 
Ответить с цитированием

  #7  
Старый 12.06.2010, 15:50
Irdis
Участник форума
Регистрация: 06.02.2006
Сообщений: 177
С нами: 10661593

Репутация: 88
По умолчанию

если ты "скидуешь" данные в двумерный массив тебе в любом случае придётся либо приводить его к одномерному, либо использовать сериализацию.


Цитата:
Например

if(byte1[i]!=byte2[i])
{
// а тут что??
}
i - номер ; byte1[i] - данные
какой вопрос такое и решение
 
Ответить с цитированием

  #8  
Старый 12.06.2010, 16:35
ShkiperLol
Познающий
Регистрация: 17.04.2010
Сообщений: 38
С нами: 8457471

Репутация: 0
По умолчанию

Главная проблема в том:
Номер - это int
Данные - это byte

И как мне их увязать и скинуть я не знаю.
 
Ответить с цитированием

  #9  
Старый 12.06.2010, 18:15
ShkiperLol
Познающий
Регистрация: 17.04.2010
Сообщений: 38
С нами: 8457471

Репутация: 0
По умолчанию

help pliz
 
Ответить с цитированием

  #10  
Старый 12.06.2010, 18:21
M_script_
Постоянный
Регистрация: 29.10.2008
Сообщений: 306
С нами: 9227388

Репутация: 180
По умолчанию

Цитата:
Сообщение от ShkiperLol  
Главная проблема в том:
Номер - это int
Данные - это byte

И как мне их увязать и скинуть я не знаю.
Непонятно, в чем проблема?
Так и отправляй, номер(4байта) и данные(1байт)
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка 10061 при соединении. Cosworth С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby 3 10.03.2010 19:40
[Perl] Модуль Socket. Не правильно работает ф-я connect FunkyBoy PHP 8 26.11.2009 07:50



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT ™ © 2001- Antichat Kft.