forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   С# (http://forum.boolean.name/forumdisplay.php?f=128)
-   -   Socket (http://forum.boolean.name/showthread.php?t=13693)

den 10.11.2010 18:45

Socket
 
Пишу я чат.
Написал клиента и сервера.
Сервер слушает 5555 порт, а клиент отсылает ему сообщения.
Сервер работает норм.
А вот клиент не очень. В клиенте надо указать IP куда слать сообщения, так вот, если указать локальный (127.0.0.1) или локальной сети (192.168.1.2) то всё работает, но если указать IP который виден из нэта (2ip.ru можно посматреть), то нихера не работает. 99,999% из за того что у меня серый IP. Как быть? Например чтобы программка работала как аська. Ставить сервер на белый IP чтоли? А подругому?
Взарание спс:)

А чуть не забыл, вот код клиента:
PHP код:

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 (уже поправили)

pax 10.11.2010 18:49

Ответ: cocket
 
Еще бы название темы правильно написал. (поправил название)
По теме: без белого IP никак.

den 10.11.2010 18:52

Ответ: cocket
 
Цитата:

По теме: без белого IP никак.
Спасибо за лаконичный ответ.
Всё, вопросов нет:)

h1dd3n 10.11.2010 19:11

Ответ: Socket
 
Цитата:

Еще бы название темы правильно написал.
По теме: без белого IP никак.
Хм а определить по dns ip и потом слать сообщения на полученный ip?

pax 10.11.2010 19:12

Ответ: Socket
 
Цитата:

Сообщение от h1dd3n (Сообщение 167914)
Хм а определить по dns ip и потом слать сообщения на полученный ip?

А у его компьютера есть имя чтоли?

den 10.11.2010 19:17

Ответ: Socket
 
Цитата:

Хм а определить по dns ip и потом слать сообщения на полученный ip?
ip серый, значит и имени либо нет, либо оно тоже какбы "серое"

den 10.11.2010 20:58

Ответ: Socket
 
А компонент DirectPlay мне не поможет?
Просто прочитал что умные дятьки из микрософта реализовали там такую возможность.

pax 10.11.2010 21:01

Ответ: Socket
 
Это какую? Которую провайдер на своем роутере закрыл?

den 10.11.2010 21:09

Ответ: Socket
 
ясно, значит без белого никак, жаль:(

pax 10.11.2010 21:15

Ответ: Socket
 
обычно это стоит у провайдера 50р в месяц примерно...

den 10.11.2010 21:17

Ответ: Socket
 
Цитата:

обычно это стоит у провайдера 50р в месяц примерно...
у нашего 150 - 200:)
Ну мне это не надо, я просто так хотел програмку проверить.
Ну скорей всего будет работать, на локали же работает:)

Phantom 11.11.2010 00:33

Ответ: Socket
 
Юзай ДинДнс или что-то из той степи. Какие проблемы-то вы нашли? Я что-то не понимаю.

UPD: Или у него провайдер режет коннекты на порты? О_о Это же бред какой-то.

pax 11.11.2010 01:45

Ответ: Socket
 
ДинДнс возможно поможет, хотя не знаю.

Подключение к внешнему ip когда сервер на локальном - вот проблема. Как за Nat пробиться?

den 11.11.2010 17:21

Ответ: Socket
 
Цитата:

ДинДнс возможно поможет, хотя не знаю.
Это чтоли http://ru.wikipedia.org/wiki/DynDNS ?

pax 12.11.2010 17:10

Ответ: Socket
 
Это что-ли http://www.dyndns.com/


Часовой пояс GMT +4, время: 15:54.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot