Книга: C# для профессионалов. Том II

Пример TcpClient

Пример TcpClient

Клиент является простым приложением Windows, где можно вводить имя хоста и номер порта сервера. Это приложение использует класс TCPClient для соединения с функционирующим сервером и получения возвращаемого сообщения для вывода его в текстовом поле. Внизу формы выводится статусная строка:


В этом коде используются инструкции using:

using System;
using System.Drawing;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;
using System.Net;
using System.Net.Sockets;
using System.Text;

Мы также включаем ссылку на файл QuoteServer.dll. Оставшаяся часть кода автоматически создается в IDL, поэтому он здесь не будет рассматриваться подробно. Основная функциональность клиента находится в обработчике нажатия кнопки Get Quote:

protected void buttonQuote_Click(object sender, System.EventArgs e) {
 statusBar.Text = "";
 string server = textBoxHostname.Text;
 try {
  int port = Convert.ToInt32(textBoxPortNumber.Text);
 } catch (FormatException ex) {
  statusBar.Text = ex.Message; return;
 }
 TcpClient client = new TcpClient();
 try {
  client.Connect(
   textBoxHostname.Text, Convert.ToInt32(textBoxPortNumber.Text));
  NetworkStream stream = client.GetStream();
  byte[] buffer = new Byte[1024];
  int received = stream.Read(buffer, 0, 1024);
  if {received <= 0) {
   statusBar.Text = "Read failed"; return;
  }
  texBoxQuote.Text = Encoding.Unicode.GetString(buffer);
 } catch (SocketException ex) {
  statusBar.Text = ex.Message;
 } finally {
  client.close();
 }
}

Запустив тестовый сервер и клиент этого оконного приложения, можно протестировать функциональность. Успешное выполнение может дать следующий результат при использовании указанных на экране настроек:


Добавим серверу функциональность службы. Программа уже выполняется, что же нужно еще сделать? Необходимо, чтобы серверная программа автоматически запускалась во время начальной загрузки системы без какого-либо пользователя, зарегистрировавшегося в системе, и мы хотим управлять ею с помощью служебных управляющих программ.

Оглавление книги


Генерация: 1.331. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз