|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|||||||||||
Простенький сервер работающий по протоколу TCP/IP, на основе сокетов25.09.2009, 19:58. Показов 30266. Ответов 83
добрый день, уважаемые программисты.
так и атк - дали задание, делаем - нужно мне было написать простенький сервер работающий по протоколу TCP/IP, на основе сокетов. сервер должен принимать даные в виде структуры - сначала длинна сообщения. потмо непосредственно данные.. как то их обрабатывать (это уже не важно) и отсылать клиенту результат. собственно: просто сервер который принимает символ инкрементирует его и возвращает (для пробы пера был сделан и рповерен телнетом) работает:
0
|
|||||||||||
| 25.09.2009, 19:58 | |
|
Ответы с готовыми решениями:
83
Проксирующий сервер, работающий по протоколу SOCKS4 PHP АПИ сервер по протоколу TCP Передать файл по TCP протоколу от клиента на сервер |
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
|||||||
| 09.12.2009, 17:38 | |||||||
![]() Лови патч
0
|
|||||||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
||||||
| 09.12.2009, 17:45 [ТС] | ||||||
|
просто преподаватель только по этому и не принял работу - сказал - посмотреть - моя это ошибка или вообще - может система сама так себя ведет?
Добавлено через 1 минуту ээээээээээээээээээээээээээээээээээээээээ ээээээээээээээээээээээээээ ![]() а это что такое с чем его едят и куда вставляют? Добавлено через 36 секунд [QUOTE=pavlinux;404119]Ты компилить хоть пробовал? Оно вообще не должно скомпилироваться. ![]() пробовал=) скомпилилось=) Добавлено через 1 минуту вижу то что на 90% код мой - но вот добавки типа
Добавлено через 1 минуту и зачем - и + перед подключением библиотек и дефайнами? Добавлено через 1 минуту тут какой то выбор идет так? между чем то и чем то в зависимости от чего то?
0
|
||||||
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
||
| 09.12.2009, 17:54 | ||
|
[QUOTE=Акелла;404126]просто преподаватель только по этому и не принял работу - сказал - посмотреть - моя это ошибка или вообще - может система сама так себя ведет?
Добавлено через 1 минуту ээээээээээээээээээээээээээээээээээээээээ ээээээээээээээээээээээээээ ![]() а это что такое с чем его едят и куда вставляют? Добавлено через 36 секунд А почаму у тя репутация больше моей это diff файл - разность между оригиналом и исправленным кодом. - - означает, что это строка удалится в исправленном коде. + - то, что эта строка добавится @@ -186,12 +189,11 @@ Это означает номер строки и номер символа слева, с которого начнутся изменения, вплоть до следующий двух собак - @@, или до конца файла. По умолчанию за три строки перед реальными изменениями. пользуются им так # patch -p0 < patchfile.txt или # cat patchfile.txt | patch -p0
0
|
||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 18:04 [ТС] | |
|
а... т.е. оно само заменит нужные строки?
ммм.. может я лучше вручную?=))) да кстати - а в чем была моя ошибка? Добавлено через 2 минуты я вижу что в большей степени просто везде где можно конст заменить на структ и все в рпинципе=)
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
||||
| 09.12.2009, 18:08 | ||||
main.c:119: ошибка: ‘sockaddr’ не описан (первое использование в этой функции) main.c:119: ошибка: (Сообщение о неописанном идентификаторе выдается один раз main.c:119: ошибка: для каждой функции, в которой он используется.) main.c:119: ошибка: expected expression before ‘)’ token main.c:119: ошибка: слишком мало аргументов в вызове функции ‘bind’ И так 6 раз ![]() Так что не может оно у тя скомпилироваться и тем более работать.
0
|
||||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
||||||||||||||||
| 09.12.2009, 18:14 [ТС] | ||||||||||||||||
|
тогда такой вопрос : зачем патч твой удаляет и при этом тут же обратно подключает одни и те же библиотки?
и зачем вводить свой max
0
|
||||||||||||||||
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
|||
| 09.12.2009, 18:26 | |||
|
#include <std*> потом подсистемы, типа #include <sys/socket.h> #include <net/inet.h> # потом всяка спицифика, если для звука, то #include <alsa/sound.h> итп если Графика, то #include <ImageMagic/wand/wand.h> последние идут пользовательские #include "mylib.h" Можно и в произвольном, но за глюки будешь сам отвечать.
Можешь смело компилить как C программу, # cc server.c -o server не хочешь - оставь std::max, и бинарник станет на 200кб больше. Да, кстати, можно тебя поздравить У тебя сервер написан на C, а не на С++ ![]() Код на С++ раз в 5 меньше
0
|
|||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 18:51 [ТС] | |
|
я знаю что на С=)))
но не в этом суть - мне не размер файла важен - а почему скорость различается
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
||
| 09.12.2009, 19:10 | ||
|
close(client_sockfd); free(ch); ch = NULL; /* либо вверху использовать realloc(); */ } /* free(ch); ch = NULL; */ /* тут уже free() */ }
0
|
||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 19:13 [ТС] | |
|
кхм... ты не тот - совсем не тот код посмотрел=)
я же выложил: Простенький сервер работающий по протоколу TCP/IP, на основе сокетов уже готовый, работающий, измененный полностью=)
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
|||||||
| 09.12.2009, 19:33 | |||||||
%f это float, надо %lf Добавлено через 11 минут typedef long long Counter; typedef time_t Counter; /* time_t - возвращают tv.tv_sec и tv.tv_usec */
0
|
|||||||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 19:42 [ТС] | |
|
это сути проблемы не меняет. все равно с й клиент сервера сервер читает со скорость примерно20 мб/с а с другого - 4-5 мб/с.... при этом клиент отправляет одни и те же данные обоим клиент серверам со скоростью около 16 мб/с
Добавлено через 2 минуты вопрос в том - косячит моя прога или косячит система?
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
||
| 09.12.2009, 20:15 | ||
|
передаваемые и принимаемые данные, возвращаемые типы и значения. А потом уж на алгоритм пиняй.
0
|
||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 20:16 [ТС] | |
|
так я не пиняю на алгоритм - я спрашиваю. наверное если я написал сюда - то не могу найти ошибку=) вроде мое сообщение первое не было похоже на " ой люди - руки не из того места - помогите написать" - прога есть и она работает - но в 1 месте есть вопрос - и я спрашиваю - это моя ошибка или что то еще?
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
|
| 09.12.2009, 20:29 | |
|
0
|
|
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 20:31 [ТС] | |
|
непонял.... а в чем с форками может быть ошибка? они процессы нормально порождают (точнее клонируют)
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
||||||||||||
| 09.12.2009, 21:31 | ||||||||||||
![]() Добавлено через 55 минут Вроде одинаково стало, но ещё куча ошибок. Подряд идут accept, форки кучей, сокеты закрываются, а потом проверяются можно ли туда писать... Так что про руки это ты правильно заметил Удачи.
1
|
||||||||||||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 22:45 [ТС] | |
|
если все нормально то 1. блин - ну у меня же все нормально порождается
Добавлено через 7 минут проверил - как скорость различалась так и различается=) Добавлено через 5 минут странно - говорю же - скорость по прежнему отличается на порядок=(
0
|
|
|
3 / 3 / 0
Регистрация: 09.01.2009
Сообщений: 41
|
||||||
| 09.12.2009, 22:55 | ||||||
|
[QUOTE=Акелла;405158]если все нормально то 1. блин - ну у меня же все нормально порождается
Ну вот чаго ты гонишь...
Так fork() возвращает PID потомка, который ты присваиваешь переменной pid. Далее он у тебя сравнивается с НОЛЁМ, НОЛЁВОЙ PID только у ЯДРА!!!!
0
|
||||||
|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|
| 09.12.2009, 22:58 [ТС] | |
|
хорошо - согласен может тут я наложал - но блин - я не это спрашивал же!!!! рррррр
прога отрабатывает запускается и т.д. - я про скорость спрашивал а не про процессы
0
|
|
| 09.12.2009, 22:58 | |
|
Создаем TCP сервер (на основе сервера MicroBridge LightWeight) Отправка сокетов в виде массивов по UDP-протоколу Написать чат с использованием TCP-сокетов Запрос по протоколу tcp php
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Саморегулирующийся социальный контракт для сервера cross-section.
Hrethgir 14.08.2026
С кодом конечно таких глубоких размышлений пока не было, впрочем я уже привык к алгоритмизации. Суть предмета записи: снова в диалоге с нейросетью (я взял пока себе ник для учётки админа - Rector). . . .
|
Часы электронные
Uhbif79 12.08.2026
Выкладываю программу часов. Программа позволяет:
1. Использовать системное время и дату,
2. Есть возможность вводить время и дату вручную.
3. Реализованы 2 будильника: начало и конец рабочего дня. . . .
|
Часы с будильником на основе класса QLCDNumber
Uhbif79 12.08.2026
Всем добрый день, выкладываю программу часов с будильником на основе класса QLCDNumber.
Здесь я пробовал самостоятельно создавал классы, впервые столкнулся с видимостью переменной одного класса из. . .
|
Установка MinGW GCC 16.2 и CMake
8Observer8 10.08.2026
VK Видео:
https:/ / vkvideo. ru/ video-240781534_456239017
YouTube:
eY5-5PyI9NM
Текстовая версия
|
|
Неделя из жизни имитационной модели склада: мои кривые руки растут, откуда надо
anaschu 10.08.2026
Неделя из жизни имитационной модели склада: как я почти написал неправильную логику и что с этим делать
Работаю сейчас над учебно-рабочим проектом: строю в AnyLogic имитационную модель процессов. . .
|
Калькулятор для расчета родства
russiannick 07.08.2026
1. Задача: Создать калькулятор для расчета родства.
Родственных связей существует 8 ступеней, такие как:
p - отец
P - мать
q - муж
Q - жена
b - брат
B - сестра
s - сын
S - дочь
|
Мир по моей воле
kumehtar 07.08.2026
Когда-то кажется, что всё просто. Ты весь такой светлый. Причиняешь добро. Борешься за справедливость в этом тёмном мире.
Потом начинаешь замечать одну неприятную вещь. Почти каждый хороший. . .
|
Кредитный калькулятор
Maks 05.08.2026
Решение задачи по прикладной информатике средствами 1С.
Задача:
Напишите приложение-калькулятор, которое помогает рассчитывать параметры кредита для аннуитетного и дифференцированного видов. . .
|