Тема: port sender
Показать сообщение отдельно

port sender
  #1  
Старый 18.06.2007, 18:47
gold-goblin
Познавший АНТИЧАТ
Регистрация: 26.03.2007
Сообщений: 1,095
С нами: 10067064

Репутация: 455


По умолчанию port sender

Начал я изучать Sockets в паскале и от нечего делать написал программу которая передает ваш текст на определеный ip адрес и порт в бесконечном колличестве.
Написал я ее на паскале и только от нечего делать.
Пользуйтесь прогой и изучайте в месте с ней паскаль

Код программы:
Код:
uses Sockets;
var
  sock: integer;
  b: boolean;
  paket,s: string;
  ip: string;
  port: integer;
  a: real;
begin
writeln('Введите адрес цели');
readln(ip);
writeln('Введите порт цели');
readln(port);
writeln('Введите текст сообщения');
readln(paket);
  sock:=CreateClientSocket;
  b:=Connect(sock,ip,port);
  if not b then
  begin
    writeln('Соеденение не удачно');
    Exit;
  end;
  repeat
    s:=paket;
    SendString(sock,s);
  until s='power off';
  CloseSocket(sock);
end.
Эта версия проги работает тагже но посылает сообщения не в бесконечном цикле:

Код:
uses Sockets;
var
  sock: integer;
  b: boolean;
  s: string;
  ip: string;
  port: integer;
begin
  writeln('Введите адрес цели');
  readln(ip);
  writeln('Введите порт цели');
  readln(port);
  writeln('Введите ваше сообщение');
  readln(s);
  sock:=CreateClientSocket;
  b:=Connect(sock,ip,port);
  if not b then
  begin
    writeln('Неудачное соеденение');
    Exit;
  end;
  repeat
    SendString(sock,s);
  until s='power off';
  CloseSocket(sock);
end.
Ну и напоследок накидал прогу которая может принемать любые сообщения на любом порту

Код:
uses Sockets;
var
  s: string;
  sock,clsock: integer;
  port: integer;
begin
  writeln('Введите порт на котором висеть');
  readln(port);
  sock:=CreateServerSocket(port);
  clsock:=Accept(sock);
  writeln(clsock);
  repeat
    ReceiveString(clsock,s);
    if s<>'' then
      writeln(s);
  until s='power off';
  CloseSocket(sock);
  CloseSocket(clsock);
end.

Последний раз редактировалось gold-goblin; 18.06.2007 в 18:51..
 
Ответить с цитированием