ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Socket
  #1  
Старый 19.09.2006, 20:32
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
Arrow Socket

Компоненты для работы с сокетами... и есть ль !компонент! позволяющий переключить протокол Tcp/udp
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #2  
Старый 19.09.2006, 21:57
DeRek-X
Новичок
Регистрация: 19.08.2005
Сообщений: 9
Провел на форуме:
41482

Репутация: 14
Отправить сообщение для DeRek-X с помощью ICQ
По умолчанию

такого и нету, да и нужен ли он ?
используй компоненты TclientSocket TServerSocket из dclsockets70.bpl (в 7 делфе)
 
Ответить с цитированием

  #3  
Старый 20.09.2006, 09:55
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

неа... только на Winsock! позволяющий переключиться между UDP/TCP протоколом... т.е. 2 в 1....
и вот еще как в SocketUnit получить пакет на сервере (TServerSocket.Accept???! так?!)
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #4  
Старый 15.10.2006, 00:16
DeRek-X
Новичок
Регистрация: 19.08.2005
Сообщений: 9
Провел на форуме:
41482

Репутация: 14
Отправить сообщение для DeRek-X с помощью ICQ
По умолчанию

в серваке типа TServerSocket есть событие OnClientRead
по этому событию
Код:
procedure TForm1.ServerSocket1ClientRead(Sender: TObject;
  Socket: TCustomWinSocket);
Begin
End;
напиши
Код:
s:=Socket.ReceiveText;
в s запишется принятый от клиента текст

я , наверное, не правильно понял, не текст, а файлик ты хочешь получить тогда так

клиент
должен
Код:
Form1.ClientSocket1.Socket.SendStream(fs_u);
где fs_u : TFileStream
выбранный файлик

сервак должен
в процедуре ServerSocket1ClientRead (см выше)
Код:
fs_u:=TFileStream.Create(Newdir+FileName,fmCreate);
    fs_u.Write(s[1], length(s));
здесь есть свои особенности, например, сначала пересылать объём файлика, потом принимать данные до тех пор пока не получим весь файлик, при этом, что бы данные не обрабатывались другими.

наоброт посылать файлик -- полностью аналогично

пиши на мыло
помогу

Последний раз редактировалось DeRek-X; 15.10.2006 в 01:08..
 
Ответить с цитированием

  #5  
Старый 15.10.2006, 12:10
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

неа, не то....
дело в том что работа с сокетами осуществляется через dll
и должна быть возможность переключения между udp и tcp протоколом
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #6  
Старый 20.10.2006, 23:38
da_ff
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме:
413927

Репутация: 71
Отправить сообщение для da_ff с помощью ICQ
По умолчанию

Я правильно понял, ты хочешь менять протоколы на лету для одного и того же порта? На сколько я знаю это невозможно, отправить на tcp порт udp пакет...
Если же нет, используй два порта и библиотеку indy там все есть.
Хотя, если тебе не лень можешь подменить таблицу импорта для winsock.dll и перенаправлять такеты на разные порты фнутри функции. Можно создать видимость смены протоколов. Или же, другой вариант, подменить адреса векторов прерываний у сетевухи, и там уже отправлять что хочешь и куда хочешь, только я не уверен, что архитектура это позволит... Хотя будет интересно!

Последний раз редактировалось da_ff; 21.10.2006 в 11:08..
 
Ответить с цитированием

  #7  
Старый 25.10.2006, 10:00
sn0w
Статус пользователя:
Регистрация: 26.07.2005
Сообщений: 568
Провел на форуме:
1290766

Репутация: 1236


По умолчанию

2da_ff: ахинея. кг/ам вообщем.

юз винапи, и не ипем мозг с компонентами, ибо кроме гимора и чужого подхода ничего не поимеем.

SOCKET socket(
int af,
int type,
int protocol
);

type= SOCK_STREAM (TCP)
type= SOCK_DGRAM (UDP)

+ немного добавлю: UDP в отличие от TCP не ведет контроля соединения, а просто отправляет сообщения (дейтаграммы).
__________________


snow white world wide

Последний раз редактировалось sn0w; 25.10.2006 в 10:06..
 
Ответить с цитированием

  #8  
Старый 25.10.2006, 12:26
gemaglabin
Banned
Регистрация: 01.08.2006
Сообщений: 725
Провел на форуме:
7681825

Репутация: 4451


По умолчанию

Лучше не использовать такие гадости,как Indy и TClientSocket.

Код:
var Sock : integer;
begin Sock := Socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
Код:
var Sock : integer;
begin  Sock := socket(PF_INET, SOCK_DGRAM, IPPROTO_UDP);
 
Ответить с цитированием

  #9  
Старый 25.10.2006, 22:58
W!z@rD
Reservists Of Antichat - Level 6
Регистрация: 12.02.2006
Сообщений: 891
Провел на форуме:
1892597

Репутация: 836


Отправить сообщение для W!z@rD с помощью ICQ
По умолчанию

все...
/me теперь думает как все это на winsock организовать
__________________
*********************************
*Я не волшебник ٩(๏̯͡๏)۶, только учусь...*
*********************************
Программы на заказ
Times to fly...
 
Ответить с цитированием

  #10  
Старый 27.10.2006, 22:13
da_ff
Участник форума
Регистрация: 11.07.2006
Сообщений: 125
Провел на форуме:
413927

Репутация: 71
Отправить сообщение для da_ff с помощью ICQ
По умолчанию

Ту сноу! Нихера ни кг\ам. Это в нетленку. Я когда наутро это дело прочитал, сперва хотел потереть, но потом решил оставить.

Ту гемаглабину! Пользовать делфи и причетать на тяжесть конпонентов как-то странно. Я использую делфи когда нужно быстро получить результат. Если же задумываешься о размерах и быстродействии связка С+ВИН АПИ то, что доктор прописал!
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Sms-флуд dinar_007 Сотовый фрикинг 94 22.02.2009 19:09
Perl и работа с сокетами LoFFi Чужие Статьи 0 10.05.2006 22:44
Мыло через socket в PHP errou PHP, PERL, MySQL, JavaScript 5 01.02.2006 10:18
Socket серверы в дельфи:как юзать? Poor Sol Болталка 2 16.01.2006 21:10



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ