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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Работа сервера 
:(
    Опции темы
Miller_time
Дата 29.6.2007, 23:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

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



Народ выручайте для обявления данных сервера я использую вот этот код

Код


                Socket listenSocket = new Socket(AddressFamily.InterNetwork,
                    SocketType.Stream, ProtocolType.Tcp);
IPEndPoint listenEP =
                        new IPEndPoint(IPAddress.Any, ServerPort);

                    listenSocket.Bind(listenEP);

                    listenSocket.Listen(5);


                    Socket clientSocket = null;
                



ДЛя принятия данных мне надо принмать данные постоянно по этому я использовал счетчик  

Код

private void timer1_Tick(object sender, EventArgs e)
        {
              int con = 1000;
              timer1.Interval -= 1;


              if (timer1.Interval == 1)
              {

                  timer1.Interval = con;
              }


        }



Перегоняю код сюда пишет что мал нельзя поновой обновлять ip что делаТЬ ? 


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
Gelis
Дата 30.6.2007, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


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

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



Цитата

ДЛя принятия данных мне надо принмать данные постоянно по этому я использовал счетчик

Зачем использовать таймер?
Принимайте данные в отдельном потоке и используйте асинхронные методы.
PM MAIL   Вверх
Miller_time
Дата 30.6.2007, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

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



Можна пример ? 


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
Miller_time
Дата 2.7.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

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



Народ может как подскажет как сделать постоянгное оджидание события получения данных от клиента на примере winfows form ?????


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
stab
Дата 3.7.2007, 03:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1839
Регистрация: 1.1.2003

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



Цитата(Miller_time @  30.6.2007,  19:50 Найти цитируемый пост)
Можна пример ? 

в MSDN на каждый метод сокетов имеются примеры, для начала почитай про Socket.BeginAccept, есть целый цикл статей: "Using a Synchronous Client Socket", "Using an Asynchronous Client Socket". для тебя же старались писали.  smile  на форуме уже тоже 100 раз обсуждалось, сделай поиск всё по тому же "BeginAccept".

Цитата(Miller_time @  2.7.2007,  15:21 Найти цитируемый пост)
Народ может как подскажет как сделать постоянгное оджидание события получения данных от клиента на примере winfows form ????? 

почитай документацию, половина вопросов, если не все, тут же исчезнут.


--------------------
6, 6, 6 - the number of the beast.
PM MAIL WWW   Вверх
Miller_time
Дата 11.7.2007, 14:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 641
Регистрация: 8.9.2006
Где: Нижний Новгород

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



Код

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

namespace WindowsApplication1
{
    public partial class Form1 : Form
    {
        private const int ServerPort = 4576;

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                Socket listenSocket = new Socket(AddressFamily.InterNetwork,SocketType.Stream, ProtocolType.Tcp);



                try
                {
                    IPEndPoint listenEP = new IPEndPoint(IPAddress.Any, ServerPort);
                    listenSocket.Bind(listenEP);
                    listenSocket.Listen(5);
                    Socket clientSocket = null;

             
                      clientSocket = listenSocket.Accept(); ///Из за этого чтопорит !
                        NetworkStream stream = new NetworkStream(clientSocket);
                        StreamReader reader = new StreamReader(stream);
                        StreamWriter writer = new StreamWriter(stream);
                        string readBuf = reader.ReadLine();
                        if (readBuf != null)
                        {
                            MessageBox.Show("Полученны данные...");
                            writer.Flush();

                        }
                        clientSocket.Shutdown(SocketShutdown.Both);


                        writer.Close();
                        reader.Close();
                        stream.Close();


                        clientSocket.Close();
                        clientSocket = null;
                    }
                
                catch
                {
                    listenSocket.Close();
                }
            }
            catch
            {
                MessageBox.Show("))))");
            }

        }
    }
}




Ставлю строчку на принятие соеденений и завитает программа наглухха что делать незнаю 

 clientSocket = listenSocket.Accept(); ///Из за этого чтопорит !


--------------------
Мы делаем игрыЗДЕСЬ
PM MAIL WWW ICQ   Вверх
tol05
Дата 12.7.2007, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1632
Регистрация: 21.12.2006
Где: Харьков

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



ну значит никто не соединяется. 
написано же в MSDN
Цитата

In blocking mode, Accept blocks until an incoming connection attempt is queued.

проверь порты, IP, совпадают на сервере и клиенте?
И где код клиента? Как можно сказать почему одна половина программы не работает, если не видно второй половины?


--------------------
На хорошей работе и сны хорошие снятся.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
cully
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Распределённые приложения и сеть | Следующая тема »


 




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


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

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