|
Здравствуйте Гость ( Вход | Регистрация ) Доступ из РоссииДля сохранения достпа из России к сайту и форуму GBX
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| juniorE |
Вторник, 27 ноября 2007, 19:45
Отправлено
#1
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 13 нояб. 2007 Из: Берлин Пользователь №: 24 352 ![]() ![]() |
привет всем.
заранее извеняюсь, если мои вопрос кому-то покажется тривиальным (в форуме на тему сокет , я не нашла никакого ответа) Я пытаюсь написать клиент-программу, которая работает на базе сокета и должен соединятся с сервером (localhost) используя WFC. Моя функция выглядит следующим образом (использую Palib ). Я все тестирую на Nintendo Lite для WIFI исолзую Linksys WRT54G. Когда я все стартую, мой клеинт не находит сервер. Пожалуисто помогите кто может. // //Init socket int PA_InitSocket(int *sock,char *host,int port) { unsigned long ip; struct sockaddr_in servaddr; *sock = socket(AF_INET, SOCK_STREAM, 0); if (*sock<0) { iprintf ("Could not create socket \n"); return -1; } else iprintf ("Socket is ok \n"); if(IS_INETADDR(host)) ip = PA_chartoip(host); else ip = *(unsigned long *)gethostbyname(host)->h_addr_list[0]; //iprintf ("IP from gethostbyname d\n", ip); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(port); servaddr.sin_addr.s_addr = ip; if(connect(*sock, (struct sockaddr *) &servaddr, sizeof(servaddr)) == SOCKET_ERROR) { iprintf ("Could not connect to server \n"); return -1; } else { iprintf ("Connect to server \n"); return 1; } } // in main() char *host = "localhost"; int port = 5000; |
![]() ![]() ![]() |
Ответов(1 - 6)
| Cluster |
Вторник, 27 ноября 2007, 20:29
Отправлено
#2
|
![]() Флудер ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 658 Регистрация: 01 мая. 2005 Из: Электросталь Пользователь №: 12 933 ![]() ![]() |
Вспоминается старый анекдот.
В чате: ОНО: Пипл,дайте IP какого-нибудь лоха!! Кто-то: 127.0.0.1 ОНО: Щас он сдохнет!!!! *** ОНО вышло из чата. Когда ты коннектишься на localhost - ты коннектишься на с DS'а на этот же DS. Сомневаюсь, что это то, что ты хочешь... И что значит "не находит сервер"? В твоём коде нет проверки находит он его или нет. -------------------- |
| juniorE |
Вторник, 27 ноября 2007, 23:20
Отправлено
#3
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 13 нояб. 2007 Из: Берлин Пользователь №: 24 352 ![]() ![]() |
" Вспоминается старый анекдот...."
я уже тоже начала сомневаться в названии хоста.. Но я ведь тестирую сервер локально, т.е он не в сети , а у меня на компе. Мне что тогда имя моего компа надо задавать kak host или IP который он (комп) получает от рутера? "что значит "не находит сервер"?"->проверку я делаю так: CODE ip = *(unsigned long *)gethostbyname(host)->h_addr_list[0]; //iprintf ("IP from gethostbyname %d\n", ip); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(port); servaddr.sin_addr.s_addr = ip; if(connect(*sock, (struct sockaddr *) &servaddr, sizeof(servaddr)) == SOCKET_ERROR) пыталась так же использовать gethostbyaddr(), но пока безуспесшно. эта функция что не имплементирована в Wifi не знаешь? |
| Cluster |
Вторник, 27 ноября 2007, 23:23
Отправлено
#4
|
![]() Флудер ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 658 Регистрация: 01 мая. 2005 Из: Электросталь Пользователь №: 12 933 ![]() ![]() |
Тут ты не делаешь эту проверку, ты только проверяешь удалось ли подключиться... Если хочешь подключиться к компу, указывай его IP.
И зачем тебе на форуме обсуждения сокетов? Это же обычные берклиевые сокеты, они такие же как на компе. -------------------- |
| juniorE |
Вторник, 27 ноября 2007, 23:33
Отправлено
#5
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 13 нояб. 2007 Из: Берлин Пользователь №: 24 352 ![]() ![]() |
я просто в теме "берклиевые сокеты" +nintendo новичок, поетому и спрашиваю в вашем форуме.
ps Если что извеняюсь:-) |
| Cluster |
Вторник, 27 ноября 2007, 23:38
Отправлено
#6
|
![]() Флудер ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 658 Регистрация: 01 мая. 2005 Из: Электросталь Пользователь №: 12 933 ![]() ![]() |
Лучше сначала на компе тренируйся с сетью работать, а потом на DS портируй
-------------------- |
| juniorE |
Вторник, 27 ноября 2007, 23:56
Отправлено
#7
|
![]() Новичок ![]() Группа: Пользователи Сообщений: 4 Регистрация: 13 нояб. 2007 Из: Берлин Пользователь №: 24 352 ![]() ![]() |
в любом случае спасибо тебе,cluster, за совет и за то что не проигнорировал.
Может быть етот информация поможет другим таким же начинающим как и я.. |
![]() ![]() |
1 чел. читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
| Упрощённая версия | Сейчас: Ср., 28 окт. 2026, 18:04 |

Вторник, 27 ноября 2007, 19:45















