Страница: 1 | 2 |
Вопрос: Вопрос по Winsock
Добавлено: 09.04.06 14:12
Автор вопроса: Komsomoletc | ICQ: 306134282
Здравствуйте! Вот хочу узнать, как можно соединить 2 компьютера через интернет используя Winsock, а вернее UDP-протокол. Я пробовал делать программу, отсылающую удаленному компьютеру текстовое сообщение, но оно не доходит до получателя, при этом никаких ошибок нет...
Быть может, кто-нибудь поделится кодом? Самым простым - отправка текста другому компьютеру, без всяческих наворотов (UDP-протокол). Просто хочется сделать P2P-программу (ну типа чата, что ли), а я в этом что-то не очень разбираюсь...
Ответы
Всего ответов: 21
Номер ответа: 1
Автор ответа:
trialist
Вопросов: 14
Ответов: 76
Профиль | | #1
Добавлено: 09.04.06 14:18
http://www.vbnet.ru/samples/download.aspx?id=658
Номер ответа: 2
Автор ответа:
Komsomoletc
ICQ: 306134282
Вопросов: 1
Ответов: 5
Профиль | | #2
Добавлено: 09.04.06 14:44
Спасибо, а то чего-то сам искал и не нашел... Будем разбираться.
Номер ответа: 3
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #3
Добавлено: 10.04.06 10:48
Ничего тупее для освоения чем UDP протокол нет.
Все что нужно - задать удаленные порт и IP, затем SendData.
Только вот проконтролировать доставку не сможешь - на то он и UDP.
Номер ответа: 4
Автор ответа:
Beralus_
ICQ: 255004422
Вопросов: 0
Ответов: 14
Профиль | | #4
Добавлено: 10.04.06 11:47
winsock1.remoteport=PortNumber
winsock1.RemoteHost="adres vtorogo kompa"
winsock1.connect
winsock1.senddata Anydata
-----------------------------
a vtorom kompe winsock doljen "slushat" sootvetstvuyushiy port
winsock2.listen
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
Winsock1.Accept requestID
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Winsock1.GetData DAtaString :' datastring peremenniy tip string
End Sub
Номер ответа: 5
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #5
Добавлено: 10.04.06 12:51
Какой, нахрен, коннект при UDP
Номер ответа: 6
Автор ответа:
Komsomoletc
ICQ: 306134282
Вопросов: 1
Ответов: 5
Профиль | | #6
Добавлено: 10.04.06 14:51
LamerOnLine
> Ничего тупее для освоения чем UDP протокол нет.
Это расценивать как намек, или как юмор?
У меня без bind вообще не работает. Я имею ввиду, что сообщения не принимаются. А так, вроде, программка заработала.
Номер ответа: 7
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #7
Добавлено: 10.04.06 14:56
Это намек на то что все очень просто.
И юзай Listen, не Bind.
Номер ответа: 8
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #8
Добавлено: 10.04.06 14:58
Ну для контроля можно ответить посылающему "сообщение пришло..."
Номер ответа: 9
Автор ответа:
Sacred Phoenix
ICQ: 304238252
Вопросов: 52
Ответов: 927
Профиль | | #9
Добавлено: 10.04.06 15:48
Номер ответа: 10
Автор ответа:
AsHeS
ICQ: 229759992
Вопросов: 14
Ответов: 93
Профиль | | #10
Добавлено: 10.04.06 16:46
А по моему в UDP bind'ят порт
В действительности уж лучше используй TCP - надежнее будет.
Номер ответа: 11
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #11
Добавлено: 10.04.06 22:35
с нормальной топологией сети - один хрен Не прошёл UDP, и TCP/IP непройдёт То что в TCP/IP проверять доставку ненадо - факт, там коль не пришло - еррор.
Номер ответа: 12
Автор ответа:
Apache2
ICQ: 162823477
Вопросов: 31
Ответов: 114
Профиль | | #12
Добавлено: 11.04.06 01:39
Тогда другой вопрос: как можно сделать программу - порт-маппинг, т.е. которая бы перенаправляла запросы с одного порта - в другой..
и при этом считала трафик.
например, делаю в настройках веб-браузера ссылку на 127.0.0.1 порт 8080
т.е. запросы поступают в мою программу, и перенаправлялись на порт прокси-сервера 192.168.ххх.ххх порт 8080 ..
хочу написать клиентскую тарифицирующую интернет программу.. т.к. все программы кеширующие прокси-сервера имеют мне не подходящую биллинговую систему. Поэтому приходиться своё что-нить придумывать.
--------------------
Сделал как надо.. один винсок слушает порт и принимает запросы с броузера..
а вот как отправить на прокси-сервер или напрямую в интернет запросы??
пробывал connect по протоколу IP/TCP не выходит
не соединяет т.е.
даже UPD.. отправлял запросы.. ничего не получет
подскажите, кто знает.!!
Номер ответа: 13
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #13
Добавлено: 11.04.06 12:37
Это когда делать нехрен.
Зато ты будешь об этом информирован. Кроме того, с "ненормальной" топологией сети неплоха вероятность многократного получения одного и того же UDP пакета от различных роутеров
не соединяет т.е.
даже UPD.. отправлял запросы.. ничего не получет
Ну что можно сказать... Криво, значит, че-то накодил. Либо коннектишься на закрытый порт прокси. Посмотри примеры как правильно юзать Winsock.
И при чем тут UDP - не пойму... У тя что, прокся на нем работает?
Номер ответа: 14
Автор ответа:
Apache2
ICQ: 162823477
Вопросов: 31
Ответов: 114
Профиль | | #14
Добавлено: 11.04.06 14:19
И при чем тут UDP - не пойму... У тя что, прокся на нем работает?
Я 20 раз всё перепроверил..
пробывал connect по протоколу IP/TCP - но не происходит событие connect.. вместо этого через минуты - Close.
а прокси-сервер отличный работает безупречно.
Номер ответа: 15
Автор ответа:
LamerOnLine
ICQ: 334781088
Вопросов: 108
Ответов: 2822
Профиль | | #15
Добавлено: 11.04.06 14:33
Ну хоть бы код тогда привёл.