17. september 2001 - 19:22Der er
4 kommentarer og 1 løsning
\"Server ting\" ...
Er ved at prøve at lave en lille \"server\" applikation i Visual Basic 5.0 med Winsock 5.0.
Har brugt denne kode (som jeg har lånt fra asp.dk ;)
Private Sub Wsck_DataArrival(ByVal bytesTotal As Long) wsck.GetData TestData, vbString IP = wsck.RemoteHost Port = wsck.RemotePort MsgBox TestData + \"from \" + IP + \" at port \" + Port End Sub Private Sub Form_Load() serverport = \"2777\"
Label1.Caption = \"Server is listening at port \" + serverport
wsck.Protocol = sckUDPProtocol MsgBox (wsck.LocalIP) wsck.LocalPort = serverport wsck.Bind End Sub
Men når jeg prøver at etablere forbindelse til min localhost via Telnet på port 2777 virker det ikke...
De fleste virksomheder har efterhånden bevist, at AI virker.
Pilotprojekter leverer resultater. Medarbejdere bruger generative AI-værktøjer. Nye use cases dukker op på tværs af organisationen.
\'------------------------------ Client ------------------------------ \'Brug til client: Text1 og Command1 og Winsock1 \'-------------------------------------------------------------------- Private Sub cmdConnect_Click() Winsock1.Close \'Lukker winsock Winsock1.Connect \"127.0.0.1\", 8812 \'Connect til server over port 8812 End Sub
Private Sub cmdDisconnect_Click() Winsock1.Close \'Lukker winsock End Sub
Private Sub cmdSenddata_Click() Winsock1.SendData Text1.Text \'Send data til server End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim NewData As String Winsock1.GetData NewData, vbString, bytesTotal \'Henter data når server sender data Text1.Text = NewData \'Data bliver vist i Text1 End Sub \'------------------------------ Client ------------------------------
\'------------------------------ Server ------------------------------ \'Brug til server: Text1 og Timer1 og Winsock1 \'-------------------------------------------------------------------- Private Sub Form_Load() Timer1.Interval = 4000 \'Setter Timer1 til 4 sec Winsock1.LocalPort = 8812 \'Setter port til 8812 Winsock1.Close \'Lukker winsock Winsock1.Listen \'Søger efter client End Sub
Private Sub Timer1_Timer() If Winsock1.State <> 7 Then \'7 = connected Winsock1.Close \'Lukker winsock Winsock1.Listen \'Søger efter client End If End Sub
Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long) Winsock1.Close \'Lukker winsock Winsock1.Accept requestID \'Accept Connection Winsock1.SendData \"Successfull connection\" \'Sender \"Successfull connection\" til client End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long) Dim NewData As String Winsock1.GetData NewData, vbString, bytesTotal \'Henter data når client sender data Text1.Text = NewData \'Data bliver vist i Text1 End Sub \'------------------------------ Server ------------------------------
Private Sub Timer1_Timer() If Winsock1.State <> 7 Then \'7 = connected Winsock1.Close \'Lukker winsock Winsock1.Listen \'Søger efter client End If End Sub
hvis client connecter er Winsock1.State = 7 så lukker winsock ikke og listen, men hvis client disconnecter skal server søge igen.
prøv sådan: (Me.Caption = Winsock1.State)
Private Sub Timer1_Timer() Me.Caption = Winsock1.State \'Status If Winsock1.State <> 7 Then \'7 = connected Winsock1.Close \'Lukker winsock Winsock1.Listen \'Søger efter client End If End Sub
ConnectionRequest: jeg er ikke helt sikker på ConnectionRequest men det er nok når client connecter giver den en vadi som server skal sende data til.
DataArrival: når client sender data forteller DataArrival at der er data
NewData = den data som er sendt fra.... bytesTotal = lengten på den data som er sendt fra.... vbString = String
Winsock1.GetData NewData, vbString, bytesTotal
håber det er hjælp nok ;)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.