AVIZO, "работать программером и получать за это неплохую зарплату" знаеш у мамы на работе тож есть програмист и он получает неплохую зарплату: получает 6000 руб (некоторые считают это неплохо, особенно в маленьких городах) в месяц и несморя на то что его должность програмист он делает не больше чем втыкает выпавший сетевой кабель у компа секретарши начальника, при этом такой дуб что даже моя ма над ним прикалывалась. Вовщем закончил инст (скоере всего приносив пакетик на екзамены с "поллитрой" учителям) типо получил корочку програмиста и все... когда хочеш попытатся доказать чужую некомпетентность надо сначало представиться и показать что твои слова чтото стоят, мне вот к примеру представлятся ненадо большенство кто здесь бывает и так знакомы со мной, а вот ты?
Вовщем ты уже повторяешся, вговориш что я незнаю фрипаскаль итп Понимаеш он настока безнадежно сырой что НИЧЕГО серьезного писать на нем небудет, там даже когда нажимаеш собрать проект вылетает окно с текстом:" проект собран успешно " вместе с текстовым смайликом... может конеш ты не особо понимаеш но такие вещи не допустимы в серьезных вещах... Касаемо размера и настройки сборки извени конеш стрипом можно размер уменшить до 1.5 метра (вроде даж больше) но извени это в старвнении с 40 KB при програмриовании на API в дельфи... вовщем вот достаточно отражает мое отношение к нему :
Мне Lazarus показался достаточно сырым продуктом. Может быть, он будет доработан. Мне бы этого хотелось бы, даже несмотря на то, что я не Delphi-программист. Но пока что он не выглядит средой, подходящей для создания серьезных и современных приложений для Linux.
http://solargate.ru/lazarus-prizrak-delphi-v-linux
Вовщем надоело спорить, если тебе того что я сказал недостаточно то это уже твои проблемы..
Мнение мое прежнее - такого, как ты ни в коем случае нельзя допускать к "рулю" в игре. Ты себя очень ярко показал в Имерзе. А как игрок - тут только админ может решать. Никто тебя, как игрока, не призывает гнать из НЗ, не льсти себе. Просто есть люди, которые не хотят, чтобы ты загубил еще один проект своими выходками.
Ну во первых я и не прошусь к рулю нигде. А во вторых всеже может объясниш почему я негожусь как руководитель? или к пример чем я загубил имперку? Вот я все думаю вот что я такого мог сделать? Цитата:"как игрока, не призывает гнать из НЗ" перечитай то что я писал, вовщет я не игрок в НЗ. мне не нравятся нубские игры, просто неинтересно играть. Такая игра поднялась за счет главной игры то что там некоторые умники спамили в торге в реале такая игра ненабрала бы и 20 человек и чтобы набрать вашу тысячу пришлось бы выложить неодну тысячу баксов на реклу такчто считай админ этой игры должен имперзу.
Цитата:"Просто есть люди, которые не хотят, чтобы ты загубил еще один проект своими выходками" угу какие мы робин гуды и чем бы я загубил игру? Вот допустим что нескока месяцев назад когда ваш админ спросил нехочу ли я начать работать на него и писать клиент для НЗ всеже согласился то чтото бы изменилось кроме как наличии клиента для НЗ? Поверь ничего, максимум моего оприсутсвия это раз в сутки заходить в акк чтобы проверить почту, продажа валюты итп как в имперзе не катит здесь доходы админа очень мизерные. А вовще ваши действия типо убить мышку он там в имперзе главный читер и все баги из за него(меня) и непускать к игре привели к тому что админу надоело и он вовще "положил" на клиента. В итоге вы остались тока с веб версией хотя возможно нашелся бы ктонить кто бы накатал хотябы клиента карты (темболее что я счас исходники 2х клиента доступны и для начала бы пошло).
LeoGig, небольшой совет лучше ищи кто на перле сделает. PHP напрямую с портами работает затруднительно (даже платные хостинги не все дают такого доступа). Как вариант сделать на http но тогда твой чат должен будет каждую секунду запрашивать сервер и оттуда загружать текст размером с нескока строк(http заголовок) даже если в чате никто не говорит и ничег оне происходит. Траффик будет есть сильно, тут уже помоему небудет разницы между веб чатом и програмой.
Вовщем тебе перл для работы с TCP портом и HTTP нужен.
Заголовок пакета делай в формате [байт версии протокола][старшый байт длины пакета][младший байт длины пакета][данные размером указаным в длинне пакета] . Для предотвращения долбления на порт другими програмами закрывай сокет если "байт версии протокола" несовпадает с твоим выбраным числом (выбери к примеру \x16). На сервере как и в клиенте используй синхронные сокеты и пускай каждый конект работает в отдельном потоке (хотя програмист серва думаю сам разберется).
Вот пример как делать 2 байта длинны пакета:
function sByteToString_Word(const sValue:word):string;
begin
result:=chr(sValue div 256)+chr(sValue-(sValue div 256)*256); //(div это целочисленое деление)
end;
в sValue просто длинну данных пихай. чтобы потмо обратить их просто первый байт умнож на 256 и прибавь второй.
Текстовый вариант типо Nick MSG CHAT: Some Text \x13 некатит с ним больше проблем и недостатоков чем сначало кажется. Бинарка рулит. В качестве сокета для клиента НЕиспользуй Indy и подобные компоненты, они начинают глючить, к примеру если пиложение в момент прихода пакета было загружено чемто то уведомление о том что поступили данные в компонент не поступит+ еще другие проблемы . лучше используй API и тред: http://pocketm.com/LOGER.DLL?log=nettred тут правдо 3х байтовый размер пакета и нет загловочного байта но это тока как пример...
P.S. тока счас заметил какое зло быстрая писать, вроде минут 10-15 посидел а текст размером в страницу вышел...
Отредактировано PocketM_GM (2008-04-12 12:21:27)