Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Вопрос о ЛОкальной сети!!! Добавлено: 14.03.06 17:24  

Автор вопроса:  Piton_4M
Люди давно хотел узнать! Скажите пожалуйста!
Возможно ли по локальной сети передать команду программе??? Зная айпи адрес компа!!! И как это будет выглядеть!!! Например на изменение в программе какой нибудь переменной???

Ответить

  Ответы Всего ответов: 11  

Номер ответа: 1
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #1
Добавлено: 14.03.06 17:32
Возможно - через Winsock.

Ответить

Номер ответа: 2
Автор ответа:
 Piton_4M



Вопросов: 1
Ответов: 3
 Профиль | | #2 Добавлено: 14.03.06 17:36
А енто как? Я если честно ламер полный! Есть исходник???

Ответить

Номер ответа: 3
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #3
Добавлено: 14.03.06 17:42
Вот как работать с Winsock (текст из учебника Padre)
Контрол Winsock:
Этот контрол нужен для связи двух компов, его очень часто используют для локалок ил для создания троянов(об этом потом :-)). В этом шаге мы сделаем простую программу типо Клиент - Сервер.
Клиент - это программа которая посылает сигналы серверу, а сервер ждет сигналов клиента(ну ты меня понял?). Начнемс...
Для начала сделаем Сервер, он будет ждать сигнала клиента, и когда клиент выйдет на связь, можно будет посылать сигналы от сервера к клиенту, и наоборот. Короче будет что то типо чата.
Войди в VB(Standart Exe), подключи компонент МелкоСофт Winsock Контрол 6.0, на понели инструментов появится объект Winsock, закинь его на форму. На форму кинь еще 2 текстовых поля(1ое - отправка сообщений, 2ое - прием сообщений). Вот код:

Private Sub Form_Load()
Winsock1.LocalPort = 101 ' Указываем порт который будет слушать Сервер
Winsock1.Listen ' Начинаем Слушать порт
Form1.Caption = "Сервер"
End Sub

Private Sub Text1_Change() ' При изменении текста в текстовом поле:
Winsock1.SendData Text1.Text ' Посылаем клиенту текст который введен в текстовое поле
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close ' Если сервер не закрыт, то закрываем его(подробнее смотри ниже)
Winsock1.Accept requestID ' Принимаем запрос
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Если Клиент посылает текст то:
Dim D As String ' Объявляем переменную для работы со строками
Winsock1.GetData D ' Записываем в переменную текст, который был послан Клиентом
Text2.Text = D ' Здесь все понятно, скажу только что нельзя напрямую писать Winsock1.GetData Text1.Text, надо обязательно через переменную
End Sub

Ну усе, сервер готов, теперь надо сделать Клиент. Ой... чуть не забыл... короче вот таблица:
Константа Описание
sckClosed Такое значение стоит при запуске программы или когда порт закрыт
sckOpen Порт открыт
sckListening Порт прослушивается
sckConnectionPending Ожидание связи
sckConnecting Подключение к хосту
sckConnected Связь установлена
sckClosing Связь закрывается...
sckError Ошибка
Вот про это я и говорил, в строке If Winsock1.State <> sckClosed Then, вместо sckClosed ты можешь вписать любую константу из таблицы.
Теперь мы сделаем клиент, на форму опять кинь контрол Winsock, 2 тектовых поля, вот код:

Private Sub Form_Load()
Winsock1.RemoteHost = "127.0.0.1" ' Указываем IP компа, на котором запущен сервер(В место IP`a можно указать имя компа(Мой Компьютер>>Панель управления>>Сеть>>Индефикация(Winsock1.RemoteHost = "Komp";)))(если ты сейчас не в сети(ил в локалке), то твой IP всегда будет 127.0.0.1)
Winsock1.RemotePort = 101 ' Указываем порт сервера
Winsock1.Connect ' Подключаемся
Form1.Caption = "Клиент"
End Sub


Private Sub Text1_Change() ' При изменении текста:
Winsock1.SendData Text1.Text ' Отправляем текст
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Если сервер посылает текст то:
Dim DD As String ' Объявляем переменную для работы со строками
Winsock1.GetData DD ' Записываем в переменную текст, который был послан Сервером
Text2.Text = DD
End Sub

Ответить

Номер ответа: 4
Автор ответа:
 LeX



ICQ: 301424893 

Вопросов: 28
Ответов: 277
 Web-сайт: www.vbkoders.info
 Профиль | | #4
Добавлено: 14.03.06 17:43
Если нужен исходник оставь e-male я тебе скину.

Ответить

Номер ответа: 5
Автор ответа:
 Lexander



ICQ: 245115599 

Вопросов: 1
Ответов: 3
 Web-сайт: Пока нет
 Профиль | | #5
Добавлено: 14.03.06 17:46
Этот контрол нужен для связи двух компов. Его очень часто используют для локалок. Сделаем простую программу типо Клиент - Сервер.
Клиент - это программа которая посылает сигналы серверу, а сервер ждет сигналов клиента.
Для начала сделаем Сервер, он будет ждать сигнала клиента, и когда клиент выйдет на связь, можно будет посылать сигналы от сервера к клиенту, и наоборот. Короче будет что то типо чата.
Войди в VB(Standart Exe), подключи компонент Microsoft Winsock Контрол 6.0, на понели инструментов появится объект Winsock, закинь его на форму. На форму кинь еще 2 текстовых поля(1ое - отправка сообщений, 2ое - прием сообщений). Вот код:

Private Sub Form_Load()
Winsock1.LocalPort = 101 ' Указываем порт который будет слушать Сервер
Winsock1.Listen ' Начинаем Слушать порт
Form1.Caption = "Сервер"
End Sub

Private Sub Text1_Change() ' При изменении текста в текстовом поле:
Winsock1.SendData Text1.Text ' Посылаем клиенту текст который введен в текстовое поле
End Sub

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckClosed Then Winsock1.Close ' Если сервер не закрыт, то закрываем его(подробнее смотри ниже)
Winsock1.Accept requestID ' Принимаем запрос
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Если Клиент посылает текст то:
Dim D As String ' Объявляем переменную для работы со строками
Winsock1.GetData D ' Записываем в переменную текст, который был послан Клиентом
Text2.Text = D ' Здесь все понятно, скажу только что нельзя напрямую писать Winsock1.GetData Text1.Text, надо обязательно через переменную
End Sub

Ну усе, сервер готов, теперь надо сделать Клиент. Ой... чуть не забыл... короче вот таблица:
Константа Описание
sckClosed - Такое значение стоит при запуске программы или когда порт закрыт
sckOpen - Порт открыт
sckListening - Порт прослушивается
sckConnectionPending - Ожидание связи
sckConnecting - Подключение к хосту
sckConnected - Связь установлена
sckClosing - Связь закрывается...
sckError - Ошибка
Вот про это я и говорил, в строке If Winsock1.State <> sckClosed Then, вместо sckClosed ты можешь вписать любую константу из таблицы.
Теперь сделаем клиент, на форму опять кинь контрол Winsock, 2 тектовых поля, вот код:

Private Sub Form_Load()
Winsock1.RemoteHost = "127.0.0.1" ' Указываем IP компа, на котором запущен сервер(В место IP`a можно указать имя компа(Мой Компьютер>>Панель управления>>Сеть>>Индефикация(Winsock1.RemoteHost = "Komp";)))(если ты сейчас не в сети(ил в локалке), то твой IP всегда будет 127.0.0.1)
Winsock1.RemotePort = 101 ' Указываем порт сервера
Winsock1.Connect ' Подключаемся
Form1.Caption = "Клиент"
End Sub


Private Sub Text1_Change() ' При изменении текста:
Winsock1.SendData Text1.Text ' Отправляем текст
End Sub

Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) ' Если сервер посылает текст то:
Dim DD As String ' Объявляем переменную для работы со строками
Winsock1.GetData DD ' Записываем в переменную текст, который был послан Сервером
Text2.Text = DD
End Sub

Все, теперь запусти Сервер, а потом Клиент. Впиши в Текстовое поле текст, и он появится в другом текстовом поле(если текст вписан в сервер, то он появится в клиенте, и наоборот).
Удачи! :)

Ответить

Номер ответа: 6
Автор ответа:
 Lexander



ICQ: 245115599 

Вопросов: 1
Ответов: 3
 Web-сайт: Пока нет
 Профиль | | #6
Добавлено: 14.03.06 17:48
опа это круто, двое используют одну и ту же инфу! :) смешно получилось!

Ответить

Номер ответа: 7
Автор ответа:
 Piton_4M



Вопросов: 1
Ответов: 3
 Профиль | | #7 Добавлено: 14.03.06 17:48
Сп!!! Мне кажеться и этотого прикола хватит!!! Я чёто и не подумал что есть компонент специальный! Осталось только его свойства узнать и в путь!!! Спасибо огромное!!!

Ответить

Номер ответа: 8
Автор ответа:
 Lexander



ICQ: 245115599 

Вопросов: 1
Ответов: 3
 Web-сайт: Пока нет
 Профиль | | #8
Добавлено: 14.03.06 17:55
если хочешь я тебе ещё одну справку могу скинуть по этому контролу на E-Mail, только ты его напиши, ОК?

Ответить

Номер ответа: 9
Автор ответа:
 Fever



Вопросов: 60
Ответов: 808
 Профиль | | #9 Добавлено: 14.03.06 20:33
а это один и тот же чел, токо у него наверно поглючило, и он вошел с чужого адреса

Ответить

Номер ответа: 10
Автор ответа:
 Piton_4M



Вопросов: 1
Ответов: 3
 Профиль | | #10 Добавлено: 19.03.06 10:50
Пиши конечно! graymord@mail.ru. Только вот одна проблема! Всё работает на одной машине т.е. 127.0.0.1... а в сети вылетает нафиг, может у меня сеть так настроена??? пробовал и айпи машины вводить и имя, всё равно не работает!

Ответить

Номер ответа: 11
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #11 Добавлено: 19.03.06 18:37
мб не белый ip?

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам