- Код: Выделить всё
Imports System
Imports System.Net
Imports System.IO
Imports System.Text
Imports Microsoft.VisualBasic
Imports System.Net.Sockets
Public Class frmMain
Public Socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
Public SendData As String
Public RecvData As String
Public Sub DataSend(ByVal k As Sockets.Socket, ByVal dat_to_snd As String)
Dim msg As [Byte]() = System.Text.Encoding.ASCII.GetBytes(dat_to_snd)
Dim i As Int32 = k.Send(msg)
End Sub
Public Function DataReceive(ByVal k As Sockets.Socket)
Dim z(131072) As [Byte], data As String
Dim i As Int32 = k.Receive(z)
data = System.Text.Encoding.ASCII.GetString(z)
Return data
End Function
Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
Socket.Connect(IPAddress.Parse("213.85.93.46"), 6000)
AddHandler Socket.Receive, AddressOf btnStatusChecker_Click
End Sub
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click
DataSend(Socket, ".login Lord Vint /s qwerty")
End Sub
Private Sub btnStatusChecker_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStatusChecker.Click
End Sub
End Class
ну вот )) короче надо сделать так, чтобы как только данные приходили на сокет он сразу же вызывал процедуру, которую надо. в данном случае Handles btnLogin.Click
кстати, если WithEvents не добавлять то ругаецца 'Receive' is not an event of 'System.Net.Sockets.Socket' Если же добавить WithEvents вот так:
- Код: Выделить всё
Public WithEvents Socket As New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
То ругаецца таким образом 'WithEvents' variable does not raise any events и как вариант предлагает исправление а именно убрат ьWithEvents, вот так вот, помогите разобрацца)