Дали задание сделать из Wf приложения, клиент-серверное но не знаю как правильно сделать обращение клиента. помогите построить правильное обращение клиента.
Обращение клиента:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading.Tasks;
using System.IO;
namespace TestClient
{
class Client
{
static void Main(string[] args)
{
try
{
SendMessageFromSocket(11000);
}
catch (Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally
{
Console.ReadLine();
}
}
static void SendMessageFromSocket(int port)
{
// Буфер для входящих данных
byte[] bytes = new byte[1024];
// Соединяемся с удаленным устройством
// Устанавливаем удаленную точку для сокета
IPHostEntry ipHost = Dns.GetHostEntry("localhost");
IPAddress ipAddr = ipHost.AddressList[0];
IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, port);
Socket sender = new Socket(ipAddr.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
// Соединяем сокет с удаленной точкой
sender.Connect(ipEndPoint);
Console.Write("Введите файл: ");
//string filename = Console.ReadLine();
string file = File.ReadAllText(@"C:\Users\Remaked\Desktop\Test.txt");
Console.Write("Введите букву: ");
char n = char.Parse(Console.ReadLine());
//string rezult;
//rezult = summB(n);
string message = file;
Console.WriteLine("Сокет соединяется с {0} ", sender.RemoteEndPoint.ToString());
byte[] msg = Encoding.UTF8.GetBytes(message);
// Отправляем данные через сокет
int bytesSent = sender.Send(msg);
// Получаем ответ от сервера
int bytesRec = sender.Receive(bytes);
Console.WriteLine("\nОтвет от сервера: {0}\n\n", Encoding.UTF8.GetString(bytes, 0, bytesRec));
// Используем рекурсию для неоднократного вызова SendMessageFromSocket()
if (message.IndexOf("<TheEnd>") == -1)
SendMessageFromSocket(port);
// Освобождаем сокет
sender.Shutdown(SocketShutdown.Both);
sender.Close();
}
}
}
Приложение:
Код:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace Задание3
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
openFileDialog1.Filter = "Текстовые файлы(txt) | *.txt";
}
private void button1_Click(object sender, EventArgs e)
{
if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
richTextBox1.LoadFile(openFileDialog1.FileName, RichTextBoxStreamType.PlainText);
textBox1.ReadOnly = false;
button2.Enabled = true;
}
private void button2_Click(object sender, EventArgs e)
{
char n = char.Parse(textBox1.Text);
textBox1.Clear();
string slovo = " ";
for (int i = 1; i < richTextBox1.TextLength; i++)
if (richTextBox1.Text[i] == n && richTextBox1.Text[i-1] == ' ')
{
slovo = " ";
for (int p = 0; p < 15; p++)
{
if (richTextBox1.Text[i] != ' ')
{
slovo += richTextBox1.Text[i].ToString();
i++;
}
}
richTextBox2.Text += slovo;
richTextBox2.Text += Environment.NewLine;
}
}
}
}
Задание:Составить таблицу слов данного текста, начинающихся с буквы, выбранной пользователем, с указанием числа повторений каждого слова. Текст загружать из файла