Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.86/7: Рейтинг темы: голосов - 7, средняя оценка - 4.86
3 / 3 / 0
Регистрация: 09.02.2014
Сообщений: 21
1

Как получить IPAddress сокета, отправившего сообщение

28.04.2014, 21:10. Показов 1361. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер, работаю над клиент-серверным приложением. И столкнулась с такой проблемой, мне нужно узнать ip адрес с которого отправили сообщение, делаю так:

метод получения сообщения:
C#
1
2
3
4
5
6
public static void ReadClientMessage(object socket)
        {
            Socket client2_socket = (Socket)socket;
             . . .
            string ip_client = Convert.ToString(client2_socket.LocalEndPoint);
         }
суть проблемы в том что в ip_client записыватся такое значение: 127.0.0.1:1234, а мне нужен только ip. Может можно как-то "обрезать" ненужное или может есть другой способ получения информации об отправителе?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.04.2014, 21:10
Ответы с готовыми решениями:

Определение приложения отправившего сообщение
Очень заинтересовал вопрос о оконных сообщения в Windows. Определяет ли ОС, было отправлено...

Перед каждой строчкой текста, написать имя пользователя, отправившего сообщение
Привет Всем. Делаю сетевой чат, и столкнулся с проблемой:немогу сделать так, что бы перед каждной...

Как получить IP-адрес сервера из его сокета?
Всем добрый день. Помогите, пожалуйста, разобраться. Есть клиент серверное приложение на сокетах....

Как отсеять ip-v4 из IPAddress
дело в том, что Dns.GetHostAddresses загоняет в IPAddress сначала ipv6, а потом для того же...

4
Life Builder
532 / 496 / 374
Регистрация: 12.01.2011
Сообщений: 1,754
29.04.2014, 14:22 2
Вот так можно
C#
1
2
3
string  IPPort = "127.0.0.1:1234";
 
            Console.WriteLine(Regex.Match(IPPort, @"\d\d?\d?.\d\d?\d?.\d\d?\d?.\d\d?\d?").Value);
Можно так же применить IndexOf c SubString
1
708 / 708 / 226
Регистрация: 04.03.2013
Сообщений: 1,384
29.04.2014, 14:51 3
Не нужно велосипедов:
C#
1
IPAddress ip = client2_socket.RemoteEndPoint.Address;
1
Эксперт .NET
17691 / 12876 / 3367
Регистрация: 17.09.2011
Сообщений: 21,140
29.04.2014, 15:28 4
Лучший ответ Сообщение было отмечено Azumi как решение

Решение

C#
1
2
var localEp = client2_socket.LocalEndPoint as IPEndPoint;
string ip_client = Convert.ToString(localEp.Address);
2
3 / 3 / 0
Регистрация: 09.02.2014
Сообщений: 21
29.04.2014, 20:54  [ТС] 5
Спасибо большое!
0
29.04.2014, 20:54
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
29.04.2014, 20:54
Помогаю со студенческими работами здесь

Как проинитить Dictionary<string,IPAddress>
Надо проинициализировать: private const Dictionary&lt;string,IPAddress&gt; url = new ...

Как указать в IPAddress.Parse необходимый адрес
Собственно, программа заключает в себе одновременно сервер и клиент. Сначала пытаюсь осуществить...

Получить состояние сокета
Как получить состояние сокета? Надо узнавать что сервер закрыл соединение. TCP\IP

Получить количество байт, готовых к считыванию из сокета
Как можно получить кол-во байт готовых к считыванию из TCP сокета? Добавлено через 8 минут в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru