Форум программистов, компьютерный форум CyberForum.ru

Программирование Windows Phone

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.88
Exvel
2 / 2 / 0
Регистрация: 26.02.2011
Сообщений: 64
#1

Windows Phone 7: сокеты и торрентовские пиры - Windows Phone

21.11.2011, 17:45. Просмотров 3114. Ответов 0
Метки нет (Все метки)

Пишу тут торрент клиент для Windows Phone 7.
Разбор торрент-файла и скачивание списка пиров с трекера сделал.
Однако не получается подсоединиться к пиру через сокет.
Выдает либо "Timed out", либо "Connection refused".
Вот код соединения:
C#
1
2
3
4
5
6
SocketAsyncEventArgs socketArg = new SocketAsyncEventArgs();
socketArg.RemoteEndPoint = peerIpPort;
socketArg.Completed += new EventHandler<SocketAsyncEventArgs>(socketArg_Completed);
 
Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
socket.ConnectAsync(socketArg);
C#
1
2
3
4
void socketArg_Completed(object s, SocketAsyncEventArgs e)
{
      MessageBox.Show(e.SocketError.ToString());
}
Добавлено через 1 час 42 минуты
update:

Хм, странно. Попробовал подсоединиться к пиру скопированному из uTorrent той же раздачи. Все подсоединилось как надо.
Думал может разбираю адреc-порт неправильно, но не вижу ошибки:
C#
1
2
3
4
5
6
7
8
for (int i = 0; i < peers.Length; i += 6)
{
      IPEndPoint endpoint = new IPEndPoint(
               (long)BitConverter.ToUInt32(peers, i),
               (int)BitConverter.ToUInt16(peers, i + 4));
 
      this.peersList.Add(endpoint);
}
peers - массив байт, где каждые 6 байтов представляют собой ip (4 байта) и порт (2 байта).

Добавлено через 52 минуты
update:

Разобрался. Порт оказывается в big endian записан был, байты считывать в обратном порядке надо.

C#
1
2
3
4
5
6
7
8
for (int i = 0; i < peers.Length; i += 6)
{
      IPEndPoint endpoint = new IPEndPoint(
               (long)BitConverter.ToUInt32(peers, i),
               (int)BitConverter.ToUInt16(new byte[] { peers[i + 5], peers[i + 4] }, 0));
 
      this.peersList.Add(endpoint);
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.11.2011, 17:45
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Windows Phone 7: сокеты и торрентовские пиры (Windows Phone):

Сокеты в Windows Phone. Не происходит отправка данных - Windows Phone
С Новым Годом всех и доброго времени суток! Помогите, пожалуйста! Возникла проблема с отправкой данных через сокет. Суть в том, что по...

На Windows Phone 8 можно будет запускать приложения для Windows Phone 7 - Windows Phone
Либерман сообщил, что операционная система будет обладать обратной совместимостью с Windows Phone 7. Это означает, что обладатели...

Совместим ли код Windows Phone 7 с Windows Phone 8? - Windows Phone
Совместим ли код Windows Phone 7 с Windows Phone 8?

Разница в Windows Phone Silverlight App и Windows Phone App - Windows Phone
Доброго вам времени суток, товарищи! Возможно вопрос дурацкий, но я не смог для себя уяснить в чём разница и под что лучше разрабатывать...

Правда ли что на windows ниже 8 нет никакой возможности разрабатывать под windows phone - Windows Phone
Правда ли что на windows ниже 8 нет никакой возможности разрабатывать под windows phone? Я например не имею ни малейшего желания переходить...

Можно ли создавать приложение для windows phone 7 на пк с windows 8 - Windows Phone
Хотел начать разрабатывать под windows phone 7 но столкнулся с проблемой что совершенно нифига(мягко выражаясь )не понятно какую студию...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.11.2011, 17:45
Привет! Вот еще темы с ответами:

Обмен данными между Windows Phone и Windows по wi-fi - Windows Phone
Как сделать обмен данными между Windows Phone и Windows по wi-fi?

Windows Phone - Windows Phone
Подскажите пожалуйста, у меня есть json файл по расписанию, где есть такие поля как наименование группы и номер группы. На странице...

Наследование в Windows Phone - Windows Phone
Мне нужно организовать наследование страниц Windows Phone (Silverlight), чтобы избежать копирования кода. Я создал базовый класс (пока...

Sqlite и Windows Phone - Windows Phone
Ребята помогите мне кто нибудь и чем нибудь. уже меся пытаюсь считать данные с sqlite базы в поем приложении и никак не получается. пишу на...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru