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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 29.12.2013, 14:58   #1
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию Проблемы с чатом

Всем доброго времени суток, вот такая проблема, решил написать чат с использованием сокетов на локальной машине все работает, как только отправляю клиент на другой компьютер тут же возникают проблемы, не удается соединится, подскажите что не так.
Клиент:
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Net.Sockets;
using System.Net;
using System.IO;


namespace client
{
    class Program
    {
        static byte[] Buffer { get; set; }
        static Socket sck;
        static void Main(string[] args)
        {
            sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            sck.Bind(new IPEndPoint(0, 10000));
            sck.Listen(10);
            Socket accepted = sck.Accept();
            Buffer = new byte[accepted.SendBufferSize];
            int bytesRead = accepted.Receive(Buffer);
            byte[] formatted = new byte[bytesRead];
            for (int i = 0; i < bytesRead; i++)
            {
                formatted[i] = Buffer[i];

            }
            string strData = Encoding.ASCII.GetString(formatted);
             Console.Write(strData + "выполнение команды");
          
           
            Console.Read();
            sck.Close();
Сервер
Код:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using System.Net.Sockets;
using System.Net;

namespace конс_с_шарп
{
    class Program
    {
        static Socket sck;
        static void Main(string[] args)
        {
            sck = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            IPEndPoint end = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 10000);
            try
            {
                sck.Connect(end);
            }
            catch
            {
                Console.WriteLine("Всё хуйня\n");
                Main(args);
            }
            Console.Write("введите текст");
            string text = Console.ReadLine();
            byte[] data = Encoding.ASCII.GetBytes(text);
            sck.Send(data);
            Console.Write("Data send");
            Console.Write("Нажми");
            Console.Read();
            sck.Close();

        }
    }
}

Последний раз редактировалось Vadiliy; 29.12.2013 в 15:48.
Vadiliy вне форума Ответить с цитированием
Старый 29.12.2013, 15:05   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
на другой компьютер
Ну тогда IPAddress.Parse("127.0.0.1") меняй на адрес того компа )
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 15:25   #3
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Я менял, ничего не выходит, скажите, а в сервере нужно ip указывать? или оставить 0?

Последний раз редактировалось Vadiliy; 29.12.2013 в 15:48.
Vadiliy вне форума Ответить с цитированием
Старый 29.12.2013, 16:40   #4
eval
Подтвердите свой е-майл
 
Регистрация: 29.08.2012
Сообщений: 4,011
По умолчанию

клиент должен знать где сервер, а сервер и так узнает про клиентов
eval вне форума Ответить с цитированием
Старый 29.12.2013, 17:06   #5
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Я понял.. но ничего не получается, дело в исходнике или в фаерволе, брандмауэре?
Vadiliy вне форума Ответить с цитированием
Старый 29.12.2013, 17:24   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Ты говоришь что на локалке чат работает. Значит не в коде дело.
Брандмауер возможно.

Кстати:
Цитата:
Main(args);
А за какой надобностью это в отлове исключения прописано?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 19:33   #7
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

Честно говоря это не мой исходник, я его нашел и собираюсь переделать под 1 хорошую вещь, но для этого мне нужно чтобы он и в таком виде работал. Спасибо, значит попробовать отключить фаервол и брандмауэр? А нужно ли регистрировать канал?
Vadiliy вне форума Ответить с цитированием
Старый 29.12.2013, 20:09   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
А нужно ли регистрировать канал?
А-а-а... Так ты пытаешся через интернет сквозь NAT просочиться?
Тогда лови птичку обломинго )
Без статического IP твой чат не будет работать, как бы ты его не писал. А статику нужно покупать у провайдера. чтоб комп, что является серваком для чата был виден в инете.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 29.12.2013, 21:40   #9
Vadiliy
Пользователь
 
Регистрация: 30.11.2012
Сообщений: 43
По умолчанию

http://www.youtube.com/watch?v=L2rLbCXa6ZU
это клиент
http://www.youtube.com/watch?v=Ts3Rr...2E4EE7B61FFCC0
это сервер

Это те видео из которых я брал исходник, они по 6 минут, если не трудно взгляните пожалуйста и скажите, что думаете.
Vadiliy вне форума Ответить с цитированием
Старый 29.12.2013, 21:50   #10
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

TC, вам нужен выделенный внешний сервер, хотя бы почта/свой хост/icq/ирка и будет вам счастье, даже с серыми адресами внутри сети.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
проблема с TCP чатом Valerya 22 C/C++ Сетевое программирование 8 10.05.2012 21:07
Проблема с чатом (серверная часть) vaan.sk C/C++ Сетевое программирование 2 24.05.2011 20:58
проблема с чатом cheef Работа с сетью в Delphi 5 13.07.2009 16:37
Помогите с чатом! alex_base Помощь студентам 4 23.12.2007 12:14