Задание. Создать клиент-серверное приложение (простейший эхо-сервер + клиент), работающее по протоколу TCP, с помощью сокетов. Предлагается на выбор реализация на языках С# (вариант 1) или C (вариант 2).
Порядок выполнения работы.
1. Создать 2 (два) консольных проекта и поместить туда представленный ниже код сервера и код клиента.
2. Запустить сначала сервер.
3. Потом запускать клиентов.
4. Убедиться, что все работает.
5. Потом в режиме отладки (по шагам) смотреть как работает сервер и как работает клиент. Понять, в какие моменты происходит зависание программы.
6. В отчете с титульным листом предоставьте файл с описанием работы сервера и клиента, скриншот работы простейшего приложения, использующего сокеты. Должно быть видно окно клиента и сервера на одном рисунке.
Вариант 1.
Исходный код сервера на языке C#.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net;
using System.Net.Sockets;
namespace SocketTcpServer
{
class Program
{
static int port = 8005; // порт для приема входящих запросов
static void Main(string[] args)
{
String Host = Dns.GetHostName();
Console.WriteLine(«Comp name = » + Host);
IPAddress[] IPs;
IPs=Dns.GetHostAddresses(Host);
foreach (IPAddress ip1 in IPs)
Console.WriteLine(ip1);
//получаем адреса для запуска сокета
IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(«127.0.0.1»), port);
// создаем сокет сервера
Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{
// связываем сокет с локальной точкой, по которой будем принимать данные
struct sockaddr_in SrvAddr; // Адресная структура сервера
struct sockaddr_in ConnAddr; // Адресная структура клиента
SOCKET SrvSock, Conn;
WSADATA wsaData; // для работы Windows с сокетами
int iResult = WSAStartup(MAKEWORD(2, 2), &wsaData);
if(iResult
Узнай стоимость помощи по твоей работе
На нашем сервисе более 1000 профессиональных исполнителей, которые готовы выполнить ваше задание. Опишите его и получите их предложения с ценой.
Предложения (0)
Служба поддержки
Возникли вопросы? Появились проблемы с автором? Не стесняйтесь, мы поможем!
Помощь в подборе материалов для написания работы
Обратная связь
Загрузка...
Предупреждение
Не сообщайте контакты без крайней необходимости. Ни в коем случае не совершайте прямые переводы денежных средств вне биржи "Пишем24". Общение и заказы за пределами "Пишем24" несут высокий риск мошенничества. А внутри "Пишем24" - проходят гладко и безопасно. В случае первого обмена контактами от администрации выдается предупреждение. В случае второго обмена контактами аккаунт пользователя блокируется.