Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.73/11: Рейтинг темы: голосов - 11, средняя оценка - 4.73
5 / 5 / 0
Регистрация: 31.07.2017
Сообщений: 19

Передача файлов по интернету p2p

11.08.2017, 03:14. Показов 2360. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Возможно ли реализовать передачу файлов по интернету имея серый айпи? Может DynDNS поможет?
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.08.2017, 03:14
Ответы с готовыми решениями:

Передача файлов по интернету
Как сделать возможность передачи файла большого размера по интернету, с одного компьютера на другой? При этом не извесно работает другой...

Передача текста по интернету
Добрый день! Как можно передать текст между программами по Интернету? На CodeGear Delphi 2007.

Передача сообщений по интернету
Я с сетью еще никогда не работал, но вот решил попытаться понять). И соответственно возник такой вопрос: как обмениваться текстовыми...

2
 Аватар для Jesterru
3 / 2 / 2
Регистрация: 19.06.2016
Сообщений: 299
11.08.2017, 10:20
Лучший ответ Сообщение было отмечено fevap как решение

Решение

Имея серый айпи? Конечно. Надо просто обменяться с человеком IP адресами, ну а далее по сокетам
0
3 / 3 / 2
Регистрация: 29.11.2016
Сообщений: 22
27.06.2018, 18:47
Может подскажете что тут не так?

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
public static string GetIPv6()
        {
            string output = "";
            string name = Dns.GetHostName();
            IPHostEntry ip = Dns.GetHostEntry(name);
            IPAddress[] adr = ip.AddressList;
            output = adr[0].MapToIPv6().ToString();
            return output;
        }
        public static void SendLetter(string adr, string text)
        {
            int port = 8005; // порт сервера
            string address = adr; // адрес сервера
            try
            {
                IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(address), port);
 
                Socket socket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
                // подключаемся к удаленному хосту
                socket.Connect(ipPoint);
                byte[] data = Encoding.Unicode.GetBytes(text);
                socket.Send(data);
                // закрываем сокет
                socket.Shutdown(SocketShutdown.Both);
                socket.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
        public static void ReceiveLetter()
        {
            int port = 8005;
            IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(GetIPv6()), port);
            Socket listenSocket = new Socket(AddressFamily.InterNetworkV6, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                listenSocket.Bind(ipPoint);
 
                listenSocket.Listen(10);
 
                while (IsListerning)
                {
                    Socket handler = listenSocket.Accept();
                    // получаем сообщение
                    StringBuilder builder = new StringBuilder();
                    int bytes = 0; // количество полученных байтов
                    byte[] data = new byte[256]; // буфер для получаемых данных
 
                    if(handler.Available > 0)
                    {
                        bytes = handler.Receive(data);
                        builder.Append(Encoding.Unicode.GetString(data, 0, bytes));
                    }
                    IPEndPoint ip = (IPEndPoint)handler.RemoteEndPoint;
                    Data.ReceivedLetters.Add(ip.ToString() + ": " + DateTime.Now.ToShortTimeString() + ": " + builder.ToString());
                    // закрываем сокет
                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Когда отправляю на свой IP, всё работает. Пытаюсь на чужой -- вылетает "Сделана попытка выполнить операцию на сокете при отключённой сети". И так в обе стороны!(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.06.2018, 18:47
Помогаю со студенческими работами здесь

Передача данных по интернету
Всем привет, кто знает как передавать данные по тсп через интернет? Пробовал через сокеты и TcpClient, но у меня получилось только по...

Передача файла по интернету
Задача: имеем программу (игру на xna) и её лог файл (текстовик 1-100 кб). И имеем комп с виндой который постоянно подключен к интернету. ...

Передача данных по интернету
Есть два компьютера, нужно с одного отослать несколько цифр на другой и только. Предполагаю, что нужно наличие клиента и сервера, который...

Чат (передача месаг по интернету)
Ну, в общем написал я небольшой многопользовательский чат, оч простенький, на TcpClient и TcpListener Все ок работает в локальной сети,...

Передача данных между ПК по интернету
сабж, сколько исходников не перекопал, все на моем компе работают, а между двумя не хотят. Что я неправильно делаю? Вот например нашёл...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru