|
С# Средство разработки на платформе .Net |
10.11.2010, 18:45
|
#1
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Socket
Пишу я чат.
Написал клиента и сервера.
Сервер слушает 5555 порт, а клиент отсылает ему сообщения.
Сервер работает норм.
А вот клиент не очень. В клиенте надо указать IP куда слать сообщения, так вот, если указать локальный (127.0.0.1) или локальной сети (192.168.1.2) то всё работает, но если указать IP который виден из нэта (2ip.ru можно посматреть), то нихера не работает. 99,999% из за того что у меня серый IP. Как быть? Например чтобы программка работала как аська. Ставить сервер на белый IP чтоли? А подругому?
Взарание спс
А чуть не забыл, вот код клиента:
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.Net.Sockets; using System.IO; namespace locak2 { class Client { static void Main(string[] args) { TcpClient tcp; //StreamReader read; StreamWriter write; NetworkStream netsteam; Socket soc; try { tcp = new TcpClient(); soc = tcp.Client; soc.Connect(IPAddress.Parse("192.168.1.2"), 5555); netsteam = tcp.GetStream(); write = new StreamWriter(netsteam); Console.WriteLine("Подключение удалось!"); while (true) { write.WriteLine(Console.ReadLine()); write.Flush(); } } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(true); } } }
--------------
блин только что заметил что в названии темы опечатка :D (уже поправили)
|
(Offline)
|
|
10.11.2010, 18:49
|
#2
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: cocket
Еще бы название темы правильно написал. (поправил название)
По теме: без белого IP никак.
|
(Offline)
|
|
Эти 2 пользователя(ей) сказали Спасибо pax за это полезное сообщение:
|
|
10.11.2010, 18:52
|
#3
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: cocket
По теме: без белого IP никак.
|
Спасибо за лаконичный ответ.
Всё, вопросов нет
|
(Offline)
|
|
10.11.2010, 19:11
|
#4
|
Бывалый
Регистрация: 19.06.2008
Сообщений: 679
Написано 264 полезных сообщений (для 450 пользователей)
|
Ответ: Socket
Еще бы название темы правильно написал.
По теме: без белого IP никак.
|
Хм а определить по dns ip и потом слать сообщения на полученный ip?
|
(Offline)
|
|
10.11.2010, 19:12
|
#5
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Socket
Сообщение от h1dd3n
Хм а определить по dns ip и потом слать сообщения на полученный ip?
|
А у его компьютера есть имя чтоли?
|
(Offline)
|
|
10.11.2010, 19:17
|
#6
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Socket
Хм а определить по dns ip и потом слать сообщения на полученный ip?
|
ip серый, значит и имени либо нет, либо оно тоже какбы "серое"
|
(Offline)
|
|
10.11.2010, 20:58
|
#7
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Socket
А компонент DirectPlay мне не поможет?
Просто прочитал что умные дятьки из микрософта реализовали там такую возможность.
|
(Offline)
|
|
10.11.2010, 21:01
|
#8
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Socket
Это какую? Которую провайдер на своем роутере закрыл?
|
(Offline)
|
|
10.11.2010, 21:09
|
#9
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Socket
ясно, значит без белого никак, жаль
|
(Offline)
|
|
10.11.2010, 21:15
|
#10
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Socket
обычно это стоит у провайдера 50р в месяц примерно...
|
(Offline)
|
|
10.11.2010, 21:17
|
#11
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Socket
обычно это стоит у провайдера 50р в месяц примерно...
|
у нашего 150 - 200
Ну мне это не надо, я просто так хотел програмку проверить.
Ну скорей всего будет работать, на локали же работает
|
(Offline)
|
|
11.11.2010, 00:33
|
#12
|
Элита
Регистрация: 14.06.2008
Адрес: Украина, Киев
Сообщений: 2,273
Написано 754 полезных сообщений (для 1,833 пользователей)
|
Ответ: Socket
Юзай ДинДнс или что-то из той степи. Какие проблемы-то вы нашли? Я что-то не понимаю.
UPD: Или у него провайдер режет коннекты на порты? О_о Это же бред какой-то.
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
11.11.2010, 01:45
|
#13
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Socket
ДинДнс возможно поможет, хотя не знаю.
Подключение к внешнему ip когда сервер на локальном - вот проблема. Как за Nat пробиться?
|
(Offline)
|
|
11.11.2010, 17:21
|
#14
|
Дэвелопер
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений (для 2,419 пользователей)
|
Ответ: Socket
ДинДнс возможно поможет, хотя не знаю.
|
Это чтоли http://ru.wikipedia.org/wiki/DynDNS ?
|
(Offline)
|
|
12.11.2010, 17:10
|
#15
|
Unity/C# кодер
Регистрация: 03.10.2005
Адрес: Россия, Рязань
Сообщений: 7,568
Написано 3,006 полезных сообщений (для 5,323 пользователей)
|
Ответ: Socket
|
(Offline)
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:38.
|