|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
11.10.2012, 14:03 | #1 |
Пользователь
Регистрация: 30.08.2012
Сообщений: 19
|
Сокеты
здравствуйте. мне нужно с компьютера передавать данные на приборы(осциллограф, генератор и тд). пишу на visual studio C++. Вот мое приложение-клиент. подконектиться к приборам получилось. но вот мне необходимо передать значение частоты. это делается через функцию send(). но что-то не получается. напишите пожалуйста недостоющие строки
WSADATA wsaData; SOCKET mysocket = NULL; char* ipAddress = "172.28.244.126"; const int ipPort = 5025; char* buff [ 1024 ];/////////////// //int nsize;///////////////// // инициализации Winsock int iResult = WSAStartup(MAKEWORD(2,2), &wsaData); if(iResult != NO_ERROR) { MessageBox::Show("Ошибка в WSAStartup"); } // Создание сокета mysocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (mysocket == INVALID_SOCKET) { MessageBox::Show("Ошибка в сокете"); WSACleanup(); } sockaddr_in clientService; clientService.sin_family = AF_INET; clientService.sin_addr.s_addr = inet_addr(ipAddress); clientService.sin_port = htons(ipPort); if(connect(mysocket, (SOCKADDR*) &clientService, sizeof(clientService))) { MessageBox::Show("Не удалось подключиться"); WSACleanup(); |
11.10.2012, 14:24 | #2 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
После удачного connect пишите
send(mysocket, "hello", 5, 0); На месте "hello" и 5 вставьте что нужно - это указатель на данные и их размер. |
12.10.2012, 11:56 | #3 |
Пользователь
Регистрация: 30.08.2012
Сообщений: 19
|
спасибо. но проблема в другом. эту запись я знаю. а вот как конкретно заставить тот или иной прибор, например, поменять значение частоты
|
12.10.2012, 12:11 | #4 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
Мы должны догадаться что за прибор, или вы думаете, что они все одинаковые?
|
12.10.2012, 12:24 | #5 |
Пользователь
Регистрация: 30.08.2012
Сообщений: 19
|
например, осциллограф фирмы Agilent модель DSO 8064A. Там винда на нем. если возможно что подсказать, то буду очень благодарен. в документации к нему ничего об этом не нашел
|
18.10.2012, 16:48 | #6 |
Пользователь
Регистрация: 30.08.2012
Сообщений: 19
|
передаю осциллу такое сообщение
send(mysocket,"*srt", strlen("*srt"),0); а он не понимает. коннект есть, данные посылаются, но он ничего не делает. подскажите в чем я не прав |
18.10.2012, 17:59 | #7 |
Старожил
Регистрация: 13.07.2012
Сообщений: 6,343
|
Откуда инфа что надо слать? Например, каков формат - может нужен crlf в конце, и т.д.
|
19.10.2012, 10:44 | #8 |
Пользователь
Регистрация: 30.08.2012
Сообщений: 19
|
в том то и дело, что понять не могу. знаю только, что по tcp/ip. а вот как конкретно приходят данные разобраться не могу. прибор явно принимает сообщение, но не воспринимает его как команду. подсказал бы кто-нибудь...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Сокеты.. | mrAndersen | Общие вопросы Delphi | 8 | 13.07.2010 08:56 |
Сокеты | SL1CK | Общие вопросы C/C++ | 8 | 05.10.2009 13:20 |
Сокеты | IICuX123 | Общие вопросы .NET | 6 | 27.07.2009 01:27 |
Сокеты | Raz0r | Помощь студентам | 2 | 29.04.2009 14:47 |
сокеты | cross | Работа с сетью в Delphi | 2 | 21.12.2006 18:12 |