smk 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Поскольку программист я не очень то опытный, прошу помощи и подсказки у знающих людей. Очень надеюсь, что это не будет трудно. Мне для анализа некоторых процессов нужно принимать от прибора по UDP пакеты с 64 байтами данных. В дальнейшем их нужно обрабатывать, но это я уже осилю сам. Мне сейчас очень необходима помощь собственно в организации приема этих пакетов. Они идут с периодичностью 35 мС и пропускать нельзя ни одного. Помогите интегрировать в пустой проект Visual Studio 2008 необходимый код для приема. Ну тоесть правильно открыть сокет - адрес 192.168.1.100 порт 5000. Нужно чтобы данные ложились в массив из 64 элементов unsigned char. Ну и как-то вызывался обработчик после каждого принятого пакета. Я пересмотрел кучу примеров, но так и не нашел ни одного интегрированного в Windows Form App. Очень прошу помочь сделать рыбу для приема, а дальше я сам. Пример пустого проекта, в который нужно встроить прием, прилагаю. Огромное Спасибо! My_UDP.rar Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ken@t 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Во первых UDP использует простую модель передачи, без неявных "рукопожатий" для обеспечения надежности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадежный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. Во вторых, проект с передатчиком и приёмником UDP прилагаю. В третьих , когда ж прекратите с этим пропертарным раром баловаться. UDP_Solution.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Во первых UDP использует простую модель передачи, без неявных "рукопожатий" для обеспечения надежности, упорядочивания или целостности данных. Таким образом, UDP предоставляет ненадежный сервис, и датаграммы могут прийти не по порядку, дублироваться или вовсе исчезнуть без следа. Во вторых, проект с передатчиком и приёмником UDP прилагаю. В третьих , когда ж прекратите с этим пропертарным раром баловаться. VS2008 говорит что приложение создано более новой версией и открывать отказывается. Можно что-то предпринять? Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба VS2008 говорит что приложение создано более новой версией и открывать отказывается. Можно что-то предпринять? Спасибо. наверное установить VS2010 или воспользоваться конвертером VS2010 -> VS2008 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ken@t 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба VS2008 говорит что приложение создано более новой версией и открывать отказывается. Можно что-то предпринять? Спасибо. Откуда у вас 2008, уму не растяжимо ? http://www.microsoft.com/visualstudio/rus/...io-2010-express скачайте и установите бесплатную версию Visual C# 2010 Express . Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Откуда у вас 2008, уму не растяжимо ? http://www.microsoft.com/visualstudio/rus/...io-2010-express скачайте и установите бесплатную версию Visual C# 2010 Express . Качаю 2012 Express. C# ? Нет, под ХР таки 2010. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать? у меня все открывает без проблем в 10-ой студии, винда 7-ка. Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать? Проект на С#, а не на плюсах качать отсюда http://www.microsoft.com/visualstudio/rus/...#d-2010-express Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба у меня все открывает без проблем в 10-ой студии, винда 7-ка. Проект на С#, а не на плюсах качать отсюда http://www.microsoft.com/visualstudio/rus/...#d-2010-express А под плюсы есть что? Ладно. Поставлю вопрос так - можно ли что-то почитать уровня чайника чтобы по-быстрому разобраться? Куда и в какое место можно дописывать свой код в проект Windows Form? Ну вобщем помогите мне освоить прием-передачу по UDP кто чем может . Пока попробую разобраться в предложенном проекте. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Serg76 0 7 декабря, 2012 Опубликовано 7 декабря, 2012 · Жалоба А под плюсы есть что? увы :(, но в сети этого добра точно должно быть навалом Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ken@t 0 8 декабря, 2012 Опубликовано 8 декабря, 2012 · Жалоба Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать? Интересно, я чёрным по белому написал, что необходимо установить. Под управляемый код забудте о плюсах. Так как программист , вы ни какой, то на C# быстрее и обучитесь и сделаете что-то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 8 декабря, 2012 Опубликовано 8 декабря, 2012 · Жалоба Подскажите по простому, в чем разница между сервером и клиентом UDP, в т.ч. с позиции программирования? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ken@t 0 8 декабря, 2012 Опубликовано 8 декабря, 2012 · Жалоба Подскажите по простому, в чем разница между сервером и клиентом UDP, в т.ч. с позиции программирования? Всё смешалось в кучу , кони, люди. Сервер : аппаратно - программный комплекс обеспечивающий обслуживание запросов клиентов, иными словами - сервер не иницирует запросов. Примером может служить службы серверов web, mail, time и т. д. UDP - протокол пользовательски датаграмм , тоесть отправка сообщений от хоста к хосту IP сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
smk 0 8 декабря, 2012 Опубликовано 8 декабря, 2012 · Жалоба Всё смешалось в кучу , кони, люди. Сервер : аппаратно - программный комплекс обеспечивающий обслуживание запросов клиентов, иными словами - сервер не иницирует запросов. Примером может служить службы серверов web, mail, time и т. д. UDP - протокол пользовательски датаграмм , тоесть отправка сообщений от хоста к хосту IP сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных. Ага... Спасибо. Я вот тут набросал кое что. Компилируется без ошибок. Теперь вопрос как прием организ0овать. Я так понимаю, что читать нужно в бесконечном цикле и при успешной вычитке складывать в буфер и обрабатывать. Так? Собственно то что пока есть: // Test_Form.cpp: главный файл проекта. #include "stdafx.h" #include<stdio.h> #include<string.h> #include<winsock2.h> #include<windows.h> #define PORT 31337 #define SERVERADDR "127.0.0.1" #pragma comment (lib, "ws2_32.lib") #include "Form1.h" using namespace Test_Form; [STAThreadAttribute] int main(array<System::String ^> ^args) { char buff [ 10*1024 ]; //Подключение библиотеки if (WSAStartup ( 0x202, ( WSADATA *) &buff [ 0 ] )) { return -1; } //Создание сокета SOCKET name_sock=socket ( AF_INET, SOCK_DGRAM, 0 ); if ( name_sock==INVALID_SOCKET ) { WSACleanup ( ); return -1; } // Включение визуальных эффектов Windows XP до создания каких-либо элементов управления Application::EnableVisualStyles(); Application::SetCompatibleTextRenderingDefault(false); // Создание главного окна и его запуск Application::Run(gcnew Form1()); return 0; } Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ken@t 0 8 декабря, 2012 Опубликовано 8 декабря, 2012 · Жалоба Хм. Наверно так , 1. Установите VS2010 C# , возьмите книжку Рихтера, почитайте об CLR и С# в частности 2. Возмите любую книгу по программрованию Windows GUI, почитайте о событийной модели. 3. Пример рабочий передатчика и приёмника UDP пакетов , я вам дал. Зы: Киев большой, найди рядом программиста он на пальцах вам обьяснит. Программирование , пока , не ваше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться