Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
-engi
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 28
#1

winsock. ip - C++

10.08.2012, 22:58. Просмотров 991. Ответов 9
Метки нет (Все метки)

Как с помощью winsock или winsock2 (без разницы) узнать ip адрес текущего компьютера? Или как сделать так, что бы в клиенте вписать вручную только ip-адрес, а на сервере его не вписывать вручную, мб для этого есть специальная функция?
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.08.2012, 22:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос winsock. ip (C++):

Модификатор FAR (WinSock) - C++
Что означает модификатор FAR в некоторых функциях/структурах WinSock? Допустим typedef struct hostent { char FAR * h_name; ...

Winsock C++ клиент - сервер - C++
#include <winsock2.h> // сервер #include <iostream> using namespace std; int main(){ // инициализация winsock WSADATA...

WinSock tcp client/server - C++
Может у кого то есть пример простой реализации client/server на winsock ? неважно на каком языке. Мне надо что бы сервер отправлял...

Winsock.h ругается на ssleay32.dll - C++
При переносе на компьютер где не установлен openssl exe ругается насчёт dll файла. https при инициализации сокетов не используется. ...

Winsock - UDP вместо ТСР - C++
В /cpp-networks/ довольно грустно и пустынно, так что боюсь вынужден скопировать тему сюда.Ссылка на старую тему для модератора:...

Клиент на WinSock и ошибка LNK1120 - C++
Добрый день. Вчера я обращался к форумчанам за помощью в сборке сервера. Теперь пытаюсь собрать клиент по примеру всё того же самоучителя...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
11.08.2012, 00:10 #2
клиент, сервер... кто такие?
-engi
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 28
11.08.2012, 00:38  [ТС] #3
novi4ok, наверное меня не поняли. Как сделать так, что бы в клиенте, для соединения, вписать вручную ip-адрес, а на сервере ip не вписывать.
kravam
быдлокодер
1694 / 881 / 44
Регистрация: 04.06.2008
Сообщений: 5,441
11.08.2012, 01:33 #4
хз чё тебе надо, у меня щас так (в клиенте):
C++
1
#define SERVERADDR "127.0.0.1"

Если мне нужно будет прописать вручную, я сделаю так:
C++
1
2
3
4
//#define SERVERADDR "127.0.0.1"
//код
char SERVERADDR [256];
scanf ("%s", SERVERADDR);
-engi
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 28
11.08.2012, 10:42  [ТС] #5
kravam, нет , это не то
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
11.08.2012, 13:38 #6
Цитата Сообщение от -engi Посмотреть сообщение
novi4ok, наверное меня не поняли. Как сделать так, что бы в клиенте, для соединения, вписать вручную ip-адрес, а на сервере ip не вписывать.
судя по тому, как ты вопросы задаешь, тебе рано за это браться. почитай что-нибудь сперва на тему, найди простенький пример, запусти, разберись как он устроен. уверен, этот вопрос в процессе сам отпадет.
-engi
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 28
11.08.2012, 13:43  [ТС] #7
так в том то и дело, что примеры есть, все вроде бы понятно, но это не получается
novi4ok
551 / 504 / 8
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
11.08.2012, 15:35 #8
Цитата Сообщение от -engi Посмотреть сообщение
так в том то и дело, что примеры есть, все вроде бы понятно, но это не получается
так может и ну его? есть много других занятий...
Humanoid
Почетный модератор
9835 / 3833 / 164
Регистрация: 12.06.2008
Сообщений: 11,460
11.08.2012, 16:05 #9
Цитата Сообщение от -engi Посмотреть сообщение
Как с помощью winsock или winsock2 (без разницы) узнать ip адрес текущего компьютера?
Я это когда-то делал в Делфи, но с использованием всё того же WinAPI... поэтому могут быть небольшие синтаксические ошибки при переводе:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
WSADATA wsaData;
char n[256];
struct hostent *host;
struct in_addr addr;
 
WSAStartup(0x0101, &wsaData);
gethostname(n, 255);
host = gethostbyname(n);
int i=0;
while (host->h_addr_list[i] != 0) {
  addr.s_addr = *(u_long *) host->h_addr_list[i++];
  printf("\tIP Address #%d: %s\n", i, inet_ntoa(addr));
}
WSACleanup();
Цитата Сообщение от -engi Посмотреть сообщение
Или как сделать так, что бы в клиенте вписать вручную только ip-адрес, а на сервере его не вписывать вручную
На сервере IP адрес и не вписывается... ты же заранее не можешь знать, с какого IP адреса к твоему приложению будут подключаться.
-engi
2 / 2 / 0
Регистрация: 24.06.2012
Сообщений: 28
11.08.2012, 16:28  [ТС] #10
Humanoid, спасибо огромное, буду пробовать!

novi4ok, я буду продолжать буду стараться, мне это интересно!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.08.2012, 16:28
Привет! Вот еще темы с ответами:

Winsock. Recv с ошибкой 10053(WSAECONNABORTED) - C++
Приветствую. Сначала отсылаю запрос на сервер, получаю ответ, обрабатываю. Всё хорошо, но вот после отправки второго запроса,...

(WinSock) Условие прихода пакета данных - C++
Допустим, я хочу написать чат на WinSock. Мне нужно, чтобы при приходе пакета специально отведенный буфер заполнялся данными, после чего...

Как работать с Winsock, какая есть литература? - C++
пытаюсь разобраться с winsock но прочитав 2 "плотные" статейки я не понял как и что объявлять, ссылки с синтаксисом, или статьи годные,...

WinSock на одном компе работает, а на разных - нет - C++
писал по самоучителям и по подобным примерам... на одном компьютере если запустить клиент и сервер то сообщение передаётся, а на разных...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
11.08.2012, 16:28
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru