Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/6: Рейтинг темы: голосов - 6, средняя оценка - 5.00
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331

Отправить на TCP сервер изображение и размер изображения

04.03.2015, 20:00. Показов 1375. Ответов 14
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
мне нужно передать на TCP сервер изображение и размер изображения как лучше это реализовать изображение номально приходит а вот как лучше передать размер подскажите??

Добавлено через 15 минут
может 2 send() на клиенте сдлать. Первым передать буфер(массив unsigned char) с изображением а вторым целое чисто тип unsigned int размер этого массива и на сервере все это прочитать в цикле recv() в массив unsigned int?? Можно ж так?? значение размера все равно ж прочитается последним правильно я думаю??

Добавлено через 1 минуту
или лучше сначала передать значение, его обработать сохранить а потом передать изображение??
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
04.03.2015, 20:00
Ответы с готовыми решениями:

TCP/IP клиент-сервер (не знаю как отправить текст от сервера к клиенту)
Помогите пожалуйста научился отправлять от клиента к серверу но наоборот никак не получается пожалуйста помогите. До сдачи осталось 3 дня

Клиент должен отправить файл на сервер. Сервер его обработать и отправить клиенту текст
Ребят подскажите как сделать: Клиент должен отправить файл на сервер. Сервер его обработать и отправить клиенту текст(1 строка). Как...

Если сервер TCP то и клиент тоже должен быть TCP?
Я полный новичок И я так понимаю есть TCP client (Sockets), TCP server (Sockets), и ClientSocket (ScktComp), ServerSocket (ScktComp) ...

14
 Аватар для rao
903 / 424 / 159
Регистрация: 02.04.2014
Сообщений: 1,206
04.03.2015, 22:09
Если будешь слать целиком файл, то в нем размеры уже есть.
0
Эксперт С++
 Аватар для Avazart
8484 / 6151 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
04.03.2015, 22:31
Цитата Сообщение от yura91 Посмотреть сообщение
мне нужно передать на TCP сервер изображение и размер изображения как лучше это реализовать изображение номально приходит а вот как лучше передать размер подскажите??
Шлешь сначала размер, а потом сами данные...
Соответственно "на той стороне" будут читать сначала размер и знать сколько последует байт данных.
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
04.03.2015, 23:25  [ТС]
а как целиком файл отправить по ftp лучше??

Добавлено через 9 минут
Кстати если допустим, я сначала отправлю размер, а на сервере его считаю сохраню в переменную типа int, проверю что все считалось нормально на сервере(по возвращаемому значению recv()). Затем отправлю ответ с сервера со строкой "Ok" на клиент. И только потом с клиента буду отправлять изображение можно так?? Если, допустим клиенту должен прийти ответ с сервера, то клиент пока не прочитает этот ответ(через метод recv()) не будет отправлять новую порцию данных(даже если дальше по коду следует вызов метода send()) так ведь??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
05.03.2015, 13:39
Цитата Сообщение от yura91 Посмотреть сообщение
то клиент пока не прочитает этот ответ(через метод recv()) не будет отправлять новую порцию данных(даже если дальше по коду следует вызов метода send()) так ведь??
зависит от того какие сокеты используются в блокирующем recv будет ждать прихода хотя бы 1го байта данных, в неблокирующем всегда возвращается управление вызывающей ф-ции, даже если нет байт на чтение
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
05.03.2015, 16:49  [ТС]
то есть блокирующие сокеты будут ждать чтения а при неболкирующих ждать программа не будет ждать дорлго recv() и пойдет выполняться следующий send() на клиенте верно??Но байты на чтение все равно потом должны как то прийти ведь TCP гарантирует доставку данных верно ( то есть если даже неблокирующий сокет то recv() все равно потом должна прочитать данные на клиенте) верно??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
05.03.2015, 17:40
Цитата Сообщение от yura91 Посмотреть сообщение
пойдет выполняться следующий send() на клиенте верно??
да
Цитата Сообщение от yura91 Посмотреть сообщение
Но байты на чтение все равно потом должны как то прийти ведь TCP гарантирует доставку данных верно
да
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
05.03.2015, 18:19  [ТС]
а можете дать ссылку на пример использования блокирующих и неблокирующих сокетов??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
06.03.2015, 09:46
неблок
блок
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
06.03.2015, 11:10  [ТС]
а библиотека winsock по умолчанию вроде предоставляет неблокирующий режим так да?? а чтоб был блокирующий нужно вызов select() использовать??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
06.03.2015, 11:14
Цитата Сообщение от yura91 Посмотреть сообщение
по умолчанию вроде предоставляет неблокирующий режим так да??
блокирующий
Цитата Сообщение от yura91 Посмотреть сообщение
а чтоб был блокирующий нужно вызов select() использовать??
нет, setsockopt надо использовать
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
06.03.2015, 12:46  [ТС]
а что принимает setsockopt() и возвращает что??
0
654 / 575 / 164
Регистрация: 13.12.2012
Сообщений: 2,124
06.03.2015, 12:49
ну этож гуглится, хоть и нельзя такое говорить, в 2х словах же не объяснишь....
0
3 / 27 / 2
Регистрация: 23.10.2013
Сообщений: 2,331
06.03.2015, 16:07  [ТС]
Получается setsockopt() устанавливает опции сокета в том числе третьим параметром мы указываем значение тайм аута для ожидания чтения/записи в блокирующем режиме??верно??
0
Эксперт С++
2924 / 1274 / 114
Регистрация: 27.05.2008
Сообщений: 3,465
06.03.2015, 16:16
https://msdn.microsoft.com/en-... 85%29.aspx
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
06.03.2015, 16:16
Помогаю со студенческими работами здесь

как создать TCP клиент, TCP сервер ? На С++
Очень нужна помощь!Как написать TCP клиент, TCP сервер. Например,клиент вводит строку с клавиатуры и отсылает ее серверу.только перед...

Связь TCP сервер - сервер-клиент на node.js - браузер. нужна коррекция
Суть проблемы: написал по примерам программу, с помощью которой можно с браузера отправить команду на TCP сервер и получить ответ. Все...

Tcp ip клиент-сервер C++ сервер выводит мусор
server # include <sys/types.h> # include <iostream> # include <winsock2.h> # include <stdlib.h> # pragma comment (lib,...

Как отправить json с клиента на сервер (клиент - прога на C#, сервер - файл PHP)
На хостинге есть файл php, как мне отправить к этому файлу json c помощью C# и как получить его с помощью php? А также как мне отправить,...

Сервер на сокетах: Нельзя повторно отправить данные на сервер
Делаю сервер на сокетах. Первая отправка данных на сервер проходит успешно, сервер получает и отвечает. Но повторный вызов события приводит...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru