Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 20:25   #1
Slash2999
Новичок
Джуниор
 
Регистрация: 14.11.2010
Сообщений: 1
Восклицание Создание не многопользовательского чата

Нужно написать чат на С#. (Не многопользовательский), а просто между двумя пользователями. Один из которых будет сервером, а другой клиентом. Конечно суть задачи не в этом. Но именно с этим возникла проблема. Помогите разобраться с сокетами. Сидел на МСДН 4 часа, там описано все о функциях, классах и их областях видимости но нет нормальных живых примеров.

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

Вот по средствам одной книжечки собрал сервер и клиент в которых: Сервер ожидает подключения клиента, и может отправлять ему сообщения (После каждого сообщения происходит пере подключение)
Как добится отправки сообщения от клиента к серверу?

Пока что в консольных приложениях.

код сервера:

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net.Sockets;

namespace ConsoleServer
{
   class Program
   {
       private void Listen()
       {
           TcpListener tcpl = new TcpListener(50001);
           
           string a;
           int i = 0;
           char b=' ';

           tcpl.Start();

           for (; ; )
           {

               Socket newSocked = tcpl.AcceptSocket();
                             
                   Console.WriteLine("User connected");
                   
                       a = Convert.ToString(Console.ReadLine());

                       if (newSocked.Connected)
                       {                                                      
                           NetworkStream ns = new NetworkStream(newSocked);

                           for (i = 0; i < a.Length; i++)
                           {
                               b = Convert.ToChar(a[i]);
                               byte[] buf = { Convert.ToByte(b) };

                               ns.Write(buf, 0, 1);
                            }
                                                       
                           ns.Flush();
                           ns.Close();
                       }
         
               newSocked.Close();
              // break;
           }
           
       }

       public static void Main(string[] args)
       {

           Program listener = new Program();
           listener.Listen();
           
       }
   }
}

код клиента:

Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net.Sockets;

namespace Localhost
{
   class Program
   {
       public static void Main(string[] args)
       {
           for (; ; )
           {
               TcpClient newSocked = new TcpClient("localhost", 50001);
               NetworkStream ns = newSocked.GetStream();
               byte[] buf = new byte[100];
               ns.Read(buf, 0, 100);
               char x;
               string str="";
               char[] buff = new char[100];

               for (int i = 0; i < 100; i++)
               {
                   buff[i] = (char)buf[i];
                   x = buff[i];
                   str += x;
               }
               Console.WriteLine(str);

               ns.Close();
               newSocked.Close();
           }

       }
   }
}
Если бы удалось найти исходный код сервера и клиента которые обмениваются друг с другом сообщениями, скорее всего разобрался бы сам, при помощи мсдн. А без живого примера отдельно описанные классы на мсдн не очень то помогают.
За ранее спасибо за помощь.
Slash2999 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
обновление в блоге - Создание многопользовательского чата Pblog Обсуждение статей 732 18.09.2013 18:08
Создание интернет чата. Alex2009 Работа с сетью в Delphi 3 12.05.2010 15:22
Создание Многосерверного чата vitalik007 Работа с сетью в Delphi 2 13.04.2008 14:11
создание сетевого чата dmitruha Работа с сетью в Delphi 2 19.11.2006 17:29