Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > C/C++ Сетевое программирование
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.06.2012, 11:36   #1
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию не передаются TCP-пакеты по сети

сделал клиент-серверную программу. клиент должен передать команду, записанную в строку CString, сервер получив ее, в качестве ответа посылает такую же строку. в локальной сети все работает, клиент успешно коннектится и далее происходит обмен строками. но когда клиент подключается через инет, то сервер информирует об успешном коннекте, но вот пакеты почему то не передаются. т.е. связь устанавливается успешно, но уже дальше обмен пакетами не происходит... разве есть разница как клиент и сервер соединяются, через локалку или инет? сокеты это ведь универсальная технология? TCP-сокет создается на основе класса CSocket из MFC. у сервера выделенный IP, естественно)
Niyaz.cpp вне форума Ответить с цитированием
Старый 01.06.2012, 11:58   #2
rpy3uH
добрый няша
Старожил
 
Аватар для rpy3uH
 
Регистрация: 29.10.2006
Сообщений: 4,804
По умолчанию

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
разве есть разница как клиент и сервер соединяются, через локалку или инет?
никакой разницы нет, ищите ошибки в программе
rpy3uH вне форума Ответить с цитированием
Старый 01.06.2012, 16:08   #3
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

Цитата:
Сообщение от rpy3uH Посмотреть сообщение
никакой разницы нет, ищите ошибки в программе
раз нету разницы в способе соединения, и программы работает по локальной сети нормально, то какая ошибка может быть в программе? может проблема в поставщике инета или в файрволе? но тогда и коннект думаю не происходил бы...
Niyaz.cpp вне форума Ответить с цитированием
Старый 01.06.2012, 20:17   #4
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
раз нету разницы в способе соединения, и программы работает по локальной сети нормально, то какая ошибка может быть в программе? может проблема в поставщике инета или в файрволе? но тогда и коннект думаю не происходил бы...
убедитесь, реально ли коннект идёт туда куда нужно. может к серверу подключается что-то левое? получите через функцию getpeername адрес подключившегося клиента
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 01.06.2012, 22:41   #5
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Rock-n-Rolla Посмотреть сообщение
убедитесь, реально ли коннект идёт туда куда нужно. может к серверу подключается что-то левое? получите через функцию getpeername адрес подключившегося клиента
эта функция уже используется, IP и порт клиента на сервере высвечиваются в графическом интерфейсе. все совпадает
Niyaz.cpp вне форума Ответить с цитированием
Старый 01.06.2012, 22:43   #6
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

может быть пакеты блокируются файрволом?
Niyaz.cpp вне форума Ответить с цитированием
Старый 01.06.2012, 22:58   #7
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

слова ничего не значат, покажите код )
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 01.06.2012, 23:02   #8
Rock-n-Rolla
Форумчанин
 
Регистрация: 11.01.2012
Сообщений: 177
По умолчанию

Цитата:
Сообщение от Niyaz.cpp Посмотреть сообщение
может быть пакеты блокируются файрволом?
если коннект есть, то блокироваться они врядли будут. тут возможен гипотетический вариант, что провайдер видит что коннект идёт по неизвестному протоколу и даёт ему низкий проиритет
progromore.i2p - первый русскоязычный портал программистов в скрытосети
Rock-n-Rolla вне форума Ответить с цитированием
Старый 02.06.2012, 00:28   #9
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

Цитата:
Сообщение от Rock-n-Rolla Посмотреть сообщение
если коннект есть, то блокироваться они врядли будут. тут возможен гипотетический вариант, что провайдер видит что коннект идёт по неизвестному протоколу и даёт ему низкий проиритет
программу целиком пока не могу, т.к. это моя дипломная работа, которую мне скоро защищать. если вы имеете ввиду модуль, ответственный за работу в сети, то он целиком взят отсюда:
сервер - http://netcode.ru/cpp/?lang=&katID=6...=69&artID=2797
клиент - http://netcode.ru/cpp/?lang=&katID=6...=69&artID=2798
Niyaz.cpp вне форума Ответить с цитированием
Старый 02.06.2012, 00:32   #10
Niyaz.cpp
Пользователь
 
Регистрация: 08.04.2012
Сообщений: 25
По умолчанию

и все таки, думаю проблема не в программе. по крайней мере не в клиентской части, т.к., например, при коннекте с pop.rambler.ru по порту 110 мой клиент получает какие со сообщения от почты, и если я отправляю что то, то почта пишет что "команда не верна". т.е. клиент посылает и принимает сообщения по сети интернет
Niyaz.cpp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не передаются параметры из тега <a> Smitt&Wesson PHP 2 14.01.2012 10:22
TCP клиен-сервер теряются пакеты. yazy4nik C# (си шарп) 1 12.07.2011 16:30
Увидеть все пакеты в сети. pcap masterbloger C/C++ Сетевое программирование 3 25.03.2011 10:24
как создать TCP клиент, TCP сервер ? DreamMaster911 C/C++ Сетевое программирование 1 26.10.2010 15:05
тест на php+mysql. не передаются значения переменных Liana4271 Помощь студентам 2 14.06.2009 01:28