Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Система обміну повідомленнями

Реферат Система обміну повідомленнями





do. Socket. Connections [i]. SendText ( # N ) ;. Lines. Add (timetostr (now) + laquo ;: + Користувач підключився. У мережі: + inttostr (ServerSocket1. Socket. ActiveConnections));

//Від сервера відключився клієнт (OnClientDisconnect)

var i: Integer;

{Хтось приєднався або від'єднався? Немає проблем! Запитуємо у всіх

юзерів їх імена}. Items. Clear; i:=0 to ServerSocket1. Socket. ActiveConnections - 1 do. Socket. Connections [i]. SendText ( # N ) ;. Lines. Add (timetostr (now) + laquo ;: + Користувач відключився. У мережі: + inttostr (ServerSocket1. Socket. ActiveConnections));

//Сервер отримує дані від клієнта (OnClientRead)

var s, s1: string ;: Integer ;: Integer ;: Pointer ;: string ;: string;

{зберігаємо в s надіслану нам рядок}:=Socket. ReceiveText;

{Якщо хтось шле файл} Copy (s, 1,2)= # F then (s, 1,2) ;:=s;

{Процедура створення файлу} _create (filename) ;;;

{Хтось хоче переслати всім файл} Copy (s, 1,2)= # S then (s, 1,2) ;. Destroy; i:=0 to ServerSocket1. Socket. ActiveConnections - 1 do. Socket. Connections [i]. SendText ( # F + s) ;. Socket. Connections [i]. SendStream (TFileStream. Create ( temp/ + s, fmOpenReadWrite or fmShareDenyWrite)) ;;;;

{хтось шле своє ім'я} Copy (s, 1,2)= # N then (s, 1,2);

{Додаємо його в юзер лист}. Items. Add (s);

{Записуємо в s команду для посилки нового списку юзерів}:= # U raquo ;; i:=0 to ListBox1. Items. Count - 1 do:=s + ListBox1. Items [i] + laquo ;; raquo ;;

{. і розсилаємо цей список усім клієнтам} i:=0 to ServerSocket1. Socket. ActiveConnections - 1 do. Socket. Connections [i]. SendText (s) ;;;

{Якщо хтось кинув повідомлення - розсилаємо його всім клієнтам} (Copy (s, 1,2)= # M ) or (Copy (s, 1,2)= # P ) then begini:=0 to ServerSocket1. Socket. ActiveConnections - 1 do. Socket. Connections [i]. SendText (s) ;;;;

//Отримання файлу (Файловий сервер)

var s, s1: string ;: Integer ;: Integer ;: Pointer ;:=Socket. ReceiveLength; (Bfr, iLen) ;. ReceiveBuf (Bfr ^, iLen) ;. Write (Bfr ^, iLen); (Bfr) ;;;.


2.4 Вихідний код Клієнта відповідальний за мережеву взаємодію


//Кнопка підключення до сервера

var, port: string;

{Перевірка чи введені дані (ip, port, nickname)} (edit2. Text= ) or (edit3. Text= ) or (edit4. Text= ) then. Panels [0]. Text:= Заповніть всі поля

{Якщо вже є підключення} ClientSocket1. Active then:=edit2. Text ;:=edit3. Text ;:=edit4. Text ;. Host:=host ;. port:=strtoint (port) ;. Open ;. Host:=ClientSocket1. host ;. port:=ClientSocket1. port + 50 ;. Open;

{Якщо немає підключення}. Close ;. Close ;:=edit2. Text ;:=edit3. Text ;:=edit4. Text ;. Host:=host ;. Port:=StrToInt (port) ;:=edit4. Text ;. Open ;. Host:=ClientSocket1. host ;. port:=ClientSocket1. port + 50 ;. Open ;;;

//Кнопка відключення від сервера

Begin

{Закриття з'єднання}. Close ;. Close ;;

//Команди від сервера

var s, from_, to_: string ;: integer;

{присвоюємо s отриману від сервера рядок}:=Socket. ReceiveText; Copy (s, 1,2)= # F then (s, 1,2) ;:=TFileStream. Create ('temp ' + s, fmCreate or fmShareDenyWrite) ;;;

{Якщо сервер посилає нам Новий Нік} Copy (s, 1,2)= # K then begin (s, 1,2); copy (s, 1, pos ( laquo ;; , s) - 1)=NickName then begin (s, 1, pos ( laquo ;; , s)); ( Адміністратор змінив ваше ім'я на: - + S) ;. Text:=S ;. Click ;. Click ;;;;;

{Якщо сервер посилає нам User List} Copy (s, 1,2)= # U then begin (s, 1,2) ;:=0;

{Чистимо ListBox1}. Items. Clear;

{Додаємо по одному користувачеві в список. Імена користувачів розділені знаком laquo ;; } Pos ( laquo ;; , s) gt; 0 do begin. Items. Add (Copy (s, 1, Pos ( laquo ;; , s) - 1)); (s, 1, Pos ( laquo ;; , s)) ;;;;

{Якщо нам прислали загальне повідомлення (видиме для всіх користувачів)} Copy (s, 1,2)= # M then begin (s, 1,2);

{Додаємо його в Memo1}. Lines. Insert (0, Copy (s, 1, Pos ( laquo ;; , s) - 1) + gt; + Copy (s, Pos ( laquo ;; , s) + 1, Length ( s) - Pos ( laquo ;; , s))) ;;;

{Якщо нам прислали запит на наше і...


Назад | сторінка 6 з 8 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Програма Server Socket
  • Реферат на тему: Архітектура системи на базі процесора Pentium (Socket 7)
  • Реферат на тему: Реалізація гри pong на мові Java за допомогою технології Socket
  • Реферат на тему: Phonetic peculiarities of the popular science text
  • Реферат на тему: Grammar of the Text: its Basic Units and Main Features (based on the novel ...