Перейти к содержанию
    

Прием пакетов по UDP (Visual Studio)

Поскольку программист я не очень то опытный, прошу помощи и подсказки у знающих людей. Очень надеюсь, что это не будет трудно. Мне для анализа некоторых процессов нужно принимать от прибора по UDP пакеты с 64 байтами данных. В дальнейшем их нужно обрабатывать, но это я уже осилю сам. Мне сейчас очень необходима помощь собственно в организации приема этих пакетов. Они идут с периодичностью 35 мС и пропускать нельзя ни одного. Помогите интегрировать в пустой проект Visual Studio 2008 необходимый код для приема. Ну тоесть правильно открыть сокет - адрес 192.168.1.100 порт 5000. Нужно чтобы данные ложились в массив из 64 элементов unsigned char. Ну и как-то вызывался обработчик после каждого принятого пакета. Я пересмотрел кучу примеров, но так и не нашел ни одного интегрированного в Windows Form App. Очень прошу помочь сделать рыбу для приема, а дальше я сам. Пример пустого проекта, в который нужно встроить прием, прилагаю. Огромное Спасибо!

 

My_UDP.rar

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Во вторых, проект с передатчиком и приёмником UDP прилагаю.

В третьих , когда ж прекратите с этим пропертарным раром баловаться.

UDP_Solution.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

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

Во вторых, проект с передатчиком и приёмником UDP прилагаю.

В третьих , когда ж прекратите с этим пропертарным раром баловаться.

VS2008 говорит что приложение создано более новой версией и открывать отказывается. Можно что-то предпринять? Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VS2008 говорит что приложение создано более новой версией и открывать отказывается. Можно что-то предпринять? Спасибо.

наверное установить VS2010 или воспользоваться конвертером VS2010 -> VS2008

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

VS2008 говорит что приложение создано более новой версией и открывать отказывается. Можно что-то предпринять? Спасибо.

Откуда у вас 2008, уму не растяжимо ?

http://www.microsoft.com/visualstudio/rus/...io-2010-express скачайте и установите бесплатную версию Visual C# 2010 Express .

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Откуда у вас 2008, уму не растяжимо ?

http://www.microsoft.com/visualstudio/rus/...io-2010-express скачайте и установите бесплатную версию Visual C# 2010 Express .

Качаю 2012 Express. C# ? Нет, под ХР таки 2010.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать?

у меня все открывает без проблем в 10-ой студии, винда 7-ка.

 

Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать?

Проект на С#, а не на плюсах

 

качать отсюда http://www.microsoft.com/visualstudio/rus/...#d-2010-express

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

у меня все открывает без проблем в 10-ой студии, винда 7-ка.

 

 

Проект на С#, а не на плюсах

 

качать отсюда http://www.microsoft.com/visualstudio/rus/...#d-2010-express

А под плюсы есть что?

 

 

Ладно. Поставлю вопрос так - можно ли что-то почитать уровня чайника чтобы по-быстрому разобраться? Куда и в какое место можно дописывать свой код в проект Windows Form? Ну вобщем помогите мне освоить прием-передачу по UDP кто чем может . Пока попробую разобраться в предложенном проекте. Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поставил С++. Не открывает. Может как-то по другому сориентируете как и что в пустой проект дописать?

Интересно, я чёрным по белому написал, что необходимо установить. Под управляемый код забудте о плюсах. Так как программист , вы ни какой, то на C# быстрее и обучитесь и сделаете что-то.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите по простому, в чем разница между сервером и клиентом UDP, в т.ч. с позиции программирования?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Подскажите по простому, в чем разница между сервером и клиентом UDP, в т.ч. с позиции программирования?

Всё смешалось в кучу , кони, люди.

Сервер : аппаратно - программный комплекс обеспечивающий обслуживание запросов клиентов, иными словами - сервер не иницирует запросов. Примером может служить службы серверов web, mail, time и т. д.

 

UDP - протокол пользовательски датаграмм , тоесть отправка сообщений от хоста к хосту IP сети без необходимости предварительного сообщения для установки специальных каналов передачи или путей данных.

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всё смешалось в кучу , кони, люди.

Сервер : аппаратно - программный комплекс обеспечивающий обслуживание запросов клиентов, иными словами - сервер не иницирует запросов. Примером может служить службы серверов 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;
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Хм.

Наверно так ,

1. Установите VS2010 C# , возьмите книжку Рихтера, почитайте об CLR и С# в частности

2. Возмите любую книгу по программрованию Windows GUI, почитайте о событийной модели.

3. Пример рабочий передатчика и приёмника UDP пакетов , я вам дал.

 

Зы: Киев большой, найди рядом программиста он на пальцах вам обьяснит. Программирование , пока , не ваше.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...