Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Закрытие и открытие портов [D6, Win2k]


Lightness ©   (2003-12-24 14:04:00) 

Объясните как пользоватся: Winsock.connect(PortNumber, A, B);
С параметрами A и B немогу разобраться.
И почему у меня порт не закрывается!?
Winsock.closesocket(PortNumber);
Присылайте на мыло ответы.
Заранее благодарен!


Digitman   (2003-12-25 16:56:00) [1]


> Lightness


все примеры (не самые плохие) - в штатном модуле scktcomp.pas


Polevi   (2003-12-25 16:13:00) [2]



var
wsaData:TWSAData;
FAddr: TSockAddrIn;
FSocket:TSocket;
FBlocking: DWORD;
begin
{ TODO -oUser -cConsole Main : Insert code here }
WSAStartup($0202,wsaData);
FSocket:=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if FSocket=INVALID_SOCKET then RaiseLastOSError;
FAddr.sin_family:=AF_INET;
FAddr.sin_addr.s_addr :=inet_addr(PChar("127.0.0.1"));
FAddr.sin_port := htons(6666);
FBlocking:=0;
ioctlsocket(FSocket, FIONBIO,FBlocking);
if connect(FSocket, @FAddr, SizeOf(FAddr))=SOCKET_ERROR then
RaiseLastOSError;


Lightness   (2003-12-25 14:58:00) [3]

Прости за мою не просвещеность, но не мог бы ты на писть мне пример?


Digitman   (2003-12-24 15:31:00) [4]


> Winsock.connect(PortNumber, A, B);


где ты выискал такую декларацию ?

вот правильная декларация в winsock.pas :

function connect(s: TSocket; var name: TSockAddr; namelen: Integer): Integer; stdcall;

вот декларация и описание параметров соответствии с MSDN :

The Windows Sockets connect function establishes a connection to a peer.

int connect (

SOCKET s,
const struct sockaddr FAR* name,
int namelen
);


Parameters

s

[in] A descriptor identifying an unconnected socket.

name

[in] The name of the peer to which the socket is to be connected.

namelen

[in] The length of the name.

где ты видишь, что 1-й параметр - это "номер порта" ?

он д.б. прописан в одном из полей 2-го параметра, кот. предст.собой адрес заранее подготовленной структуры TSockAddr

3-й же параметр - полный размер этой структуры в байтах


Наверх

Титульная страница Поиск, карта сайта Написать письмо