|
Сонный металюга
46 / 46 / 13
Регистрация: 10.05.2009
Сообщений: 295
|
|||||||||||
Простенький сервер работающий по протоколу TCP/IP, на основе сокетов25.09.2009, 19:58. Показов 30086. Ответов 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
[golang] Конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
alhaos 10.06.2026
Задача
Реализовать конкурентный fetcher с ограничением максимального количества одновременных HTTP запросов.
Сигнатура
func Fetch(urls string, maxConcurrent int) Result
Пример
urls :=. . .
|
[golang] Состояние гонки (race condition)
alhaos 10.06.2026
Состояние гонки (race condition)
Состояние гонки (Race Condition) — это ошибка, возникающая при одновременном доступе нескольких горутин к одним и тем же данным без должной синхронизации. При этом. . .
|
Взрослые отношения, и почему они не получаются
kumehtar 09.06.2026
Когда в детстве ребёнок не получает от родителей чего-то важного, он лишается не просто приятных переживаний, а основы для формирования определённых внутренних качеств и навыков. Если ребёнок не. . .
|
[golang] Worker Pool
alhaos 09.06.2026
Worker Pool
Worker Pool — паттерн конкурентной обработки задач в Go.
Суть: фиксированное количество горутин-воркеров читают задачи из общего канала
и пишут результаты в общий канал результатов. . . .
|
|
[golang] Pipeline
alhaos 08.06.2026
Pipeline
Pipeline — паттерн конкурентной обработки данных в Go.
Суть: данные проходят через цепочку независимых стадий, каждая из которых работает в своей горутине и общается с соседями через. . .
|
Свет внутри себя
kumehtar 07.06.2026
Пусть это будет здесь
lIs4oanZS9Y
|
Программа для com-порта
Uhbif79 05.06.2026
Всем привет, давно хотел изучить Qt, начинал, бросал, потом снова начинал. И сейчас вот смог написать свою первую программу.
До этого имел опыт программирования микроконтроллеров, писал прошивки на. . .
|
Транскрипция 55-минутного видео через Whisper: WhisperDesktop облажался, спас Google Colab[
anaschu 01.06.2026
Понадобилось получить текст из свежезагруженного видео на YouTube. Казалось бы, задача на пять минут. Заняла полтора часа. Делюсь опытом — может кому пригодится последовательность решений.
. . .
|