обучение программированию сокетов - PullRequest
2 голосов
/ 12 декабря 2011

Я учился программировать сокеты, но когда я пытаюсь попрактиковаться в написании кодов, у меня возникают некоторые проблемы.Код работает для подключения к компьютерам в одной локальной сети, но когда я пытаюсь подключиться к двум компьютерам в другой сети через Интернет, я не смог.

Это из-за программы или из-за сетевой безопасности?

Где найти дополнительную информацию, если я хочу, чтобы приложения общались через Интернет.Я думал о создании программы чата, чтобы лучше понять ее, но я даже не могу заставить программу общаться через Интернет!

Редактировать: Ну, порт, который я использую, это 6892. Это просто случайный порт.Я все еще изучаю эти вещи.

Ответы [ 3 ]

3 голосов
/ 12 декабря 2011

Если вы используете собственные сокеты и находитесь за брандмауэром, это определенно не удастся. Ваш брандмауэр почти наверняка будет разрешен только для порта 80 для http и для порта 443 (?) Для https.

2 голосов
/ 12 декабря 2011

В некоторых сетевых топологиях уровня 3 соединения между компьютерами не являются двунаправленными, и необходимо поддерживать связь с помощью таких методов, как брокер федерации.

Удаленная станция может не обращаться к вашему компьютеру напрямую, в зависимости от настроек, она может подключаться только к вашему шлюзу.

0 голосов
/ 12 декабря 2011

Один или оба компьютера находятся в локальной сети? Если у них есть IP-адреса, начинающиеся с 192.168, они находятся в локальной сети.

Вы также можете использовать http://whatismyipaddress.com/, чтобы проверить, совпадает ли отображаемый IP-адрес с IP-адресом, который вы видите на своих компьютерах, но не забудьте удалить любые прокси.

Если конечный компьютер находится в локальной сети или IP-адрес, указанный на указанном веб-сайте, отличается от того, что отображается на компьютере, у вас возникнет проблема. Эта ситуация не имеет ничего общего с вашей программой, но вам придется настроить свои сети. Возможно, вам придется обратиться к сетевому менеджеру, чтобы решить ее.

...