Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Клиент-Сервер 
:(
    Опции темы
pa6kevi4
  Дата 5.12.2010, 18:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 14
Регистрация: 15.9.2009

Репутация: нет
Всего: нет



Здравствуйте! Вот делаю прогу клиент-сервер.

Код

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

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e2)
        {
            byte[] bytes = new byte[1024];
            //Устанавливаем для сокета локальную конечную точку
            IPHostEntry ipHost = Dns.Resolve("localhost");
            IPAddress ipAddr = ipHost.AddressList[0];
            IPEndPoint ipEndPoint = new IPEndPoint(ipAddr, 11000);
            //Создаем сокет TCP\IP
            Socket sListener = new Socket(AddressFamily.InterNetwork,
                SocketType.Stream, ProtocolType.Tcp);
            //Назначаем сокет локальной конечной точку
            // и слушаем входящие сокеты
            try
            {
                sListener.Bind(ipEndPoint);
                sListener.Listen(10);
                //Начинаем слущать соединения 
                while (true)
                {
                    Console.WriteLine("Waiting for connections... ", ipEndPoint);
                    //программа приостанавливается,ожидая входящее соединение
                    Socket handler = sListener.Accept();
                    string data = null;
                    //дождались клиента,пытающегося с нами соединиться  
                    int bytesRec = handler.Receive(bytes);
                    data += Encoding.ASCII.GetString(bytes, 0, bytesRec);
                    //выводим данные на консоль
                    Console.WriteLine("Сlient Message : {0}", data);
                    richTextBox1.Text += data.ToString();
                    MessageBox.Show(data);
                    string theReply = "Thank You for your message " + data.Length.ToString() + "  characters...I'm the Body!!!";
                    byte[] msg = Encoding.ASCII.GetBytes(theReply);
                    handler.Send(msg);
                    handler.Shutdown(SocketShutdown.Both);
                    handler.Close();
                }

            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                richTextBox1.Text += "Clients are not connected!";
            }
        }

    }
}


Почему, когда в коде срабатывает одна строчка а другая (рядом) уже не срабатывает?
Эта срочка работает:                   
Код

MessageBox.Show(data);


А эта (над ней (посмотрите в коде)) - нет
Код

richTextBox1.Text += data.ToString();


Спасибо
PM MAIL   Вверх
Мурлыкатам_
Дата 8.12.2010, 14:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 5.2.2007
Где: город-герой Минск

Репутация: нет
Всего: 2



1) richTextBox.AppendText(data);

2) data.ToString() - не имеет смысла, ведь data уже стринг...

3) (опционально) И неплохо было бы слушание сокета завернуть еще в отдельный фоновый тред.

Это сообщение отредактировал(а) Мурлыкатам_ - 8.12.2010, 14:13


--------------------
Хочешь что-то сделать - сделай это сам или попроси помощи на винграде smile
user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0993 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.