Toon posts:

[VB.NET] Simpele Server

Pagina: 1
Acties:
  • 43 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik probeer een simpele chat server te maken waar een client naartoe kan verbinden (gewoon 1 client per server :P) het connecten lukt wel maar nu wil ik een sub laten uitvoeren op de server als een client connect en dat lukt me niet helemaal :(

Server Code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Imports System.Net
Imports System.Net.Sockets

Public Class frmChat
    Inherits System.Windows.Forms.Form

    Private objTpcLis As TcpListener

    Public Event Connected(ByVal sender As Object)

    Private Sub OnConnect(ByVal sender As System.Object)
        MsgBox("YEA!")
    End Sub

    Private Sub frmChat_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Try
            objTpcLis = New TcpListener(System.Net.IPAddress.Any, 7000)
            objTpcLis.Start()

            AddHandler Connected, AddressOf OnConnect

        Catch ex As Exception
            MsgBox("Error")
        End Try
    End Sub
End Class


Client Code
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Imports System.IO
Imports System.Net
Imports System.Net.Sockets

Public Class frmChat
    Inherits System.Windows.Forms.Form

    Private objTpcClient As TcpClient

    Private Sub DisplayText(ByVal strText As String)
        txtMessages.AppendText(strText & vbCrLf)
    End Sub

    Private Sub SendText(ByVal strText As String)
        Dim objSW As New StreamWriter(objTpcClient.GetStream)
        objSW.Write(strText)
        objSW.Flush()
    End Sub

    Private Sub btnConnect_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnConnect.Click
        Dim blnError As Boolean = False
        Try
            objTpcClient = New TcpClient(txtIP.Text, txtPort.Text)
        Catch ex As Exception
            blnError = True
            DisplayText("Connection failed: " & ex.Message)
        Finally
            If Not blnError Then
                DisplayText("Connected to: " & txtIP.Text & ":" & txtPort.Text)
            End If
        End Try
    End Sub

    Private Sub btnSendMsg_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSendMsg.Click
        DisplayText(txtNewMsg.Text)
        SendText(txtNewMsg.Text)
        txtNewMsg.Text = ""
    End Sub
End Class


Kan iemand mij vertellen wat ik fout doe? :)

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13-05 21:26

gorgi_19

Kruimeltjes zijn weer op :9

En wat lukt er niet? Welke foutmelding krijg je? En waarom throw je de exception niet tijdens het debuggen?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Ik krijg geen foutmelding hij voert gewoon die OnConnect sub niet uit op de server als een client connect... Op de client krijg ik wel te zien dat hij connected is, als ik de server uit zet en dan probeer te connecten zegt hij 'connecten failed' dus to zover gaat het goed alleen dan moet hij die OnConnect sub uitvoeren en dat doet hij niet...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13-05 21:26

gorgi_19

Kruimeltjes zijn weer op :9

Ja, maar waar Raise je dan het Connected event? :?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
AddHandler Connected, AddressOf OnConnect

dat dacht ik? niet blijkbaar :p

ben nieuw met visual basic en .net, enige programmeer ervaring die ik heb is met asp :P

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13-05 21:26

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op zondag 13 februari 2005 @ 15:56:
AddHandler Connected, AddressOf OnConnect

dat dacht ik? niet blijkbaar :p

ben nieuw met visual basic en .net, enige programmeer ervaring die ik heb is met asp :P
Ja, zodra het event Connected wordt gethrowed, wordt die afgehandeld door OnConnect. Maar waar wordt dat event dan afgevuurd?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Geen idee.. hoe kan ik dat zien?

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 13-05 21:26

gorgi_19

Kruimeltjes zijn weer op :9

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
Snap er nix van :? hoe koppel ik dat dan? ik krijg geen DoSomething sub can die TcpListener, er moet toch iets in die TcpLisener zitten die zegt wanneer iemand connect dan?

Verwijderd

code:
1
2
3
Private Sub OnConnect(ByVal sender As System.Object)
        MsgBox("YEA!")
    End Sub

moet:
code:
1
2
3
Private Sub OnConnect(ByVal sender As System.Object) Handles Connect
        MsgBox("YEA!")
    End Sub

zijn. Dit is overigens voorbehouden hoor. Je moet de Handle Connect nog goed weten te coden.

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
Moest je nu eerst eens met iets eenvoudig beginnen, en zorgen dat je de basisprincipes van delegates en events door hebt; dat zou veel nuttiger zijn.

Je zal ergens moeten aangeven dat die 'Connected' event getriggered wordt. Het enige wat je nu gedaan hebt, is een method toegekend die moet uitgevoerd worden als het Connected event getriggered wordt.

https://fgheysels.github.io/


  • FireWood
  • Registratie: Augustus 2003
  • Laatst online: 00:17
Er is een voorbeeld in de sample map van vb.net. Dat is al een client-server verbinding. Staat direct ook nog threading erbij, zodat er meerdere clients kunnen connecten.

Noobs don't use "F1", Pro's do, but they can't find the information they needed


Verwijderd

Topicstarter
whoami schreef op zondag 13 februari 2005 @ 21:01:
Moest je nu eerst eens met iets eenvoudig beginnen, en zorgen dat je de basisprincipes van delegates en events door hebt; dat zou veel nuttiger zijn.

Je zal ergens moeten aangeven dat die 'Connected' event getriggered wordt. Het enige wat je nu gedaan hebt, is een method toegekend die moet uitgevoerd worden als het Connected event getriggered wordt.
Ja.. dat klinkt wel logisch eigelijk :P

weet iemand toevallig een goede site waar events uitgelegd worden, liefst in nederlands?

  • Rhapsody
  • Registratie: Oktober 2002
  • Laatst online: 00:21

Rhapsody

In Metal We Trust

🇪🇺 pro Europa!


Verwijderd

Topicstarter
Ik wou er eigelijk nog bijzetten geen google links maar dacht dat het wel duidelijk was... iedereen kan zoeken op google ik vroeg of iemand nog een goede site wist op google staan er wel 1000, thx

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
[rml]whoami in "[ VB.NET] waardes van een andere form?"[/rml]

Trouwens, met een beetje zoeken vind je toch zelf ook wel interessante sites.

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:32
Je kan trouwens ook wel eens de GoT search gebruiken:

klik

Dan vind je al een pak interessante topics, waar het uit de doeken gedaan wordt.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op woensdag 16 februari 2005 @ 15:03:
[rml]whoami in "[ VB.NET] waardes van een andere form?"[/rml]

Trouwens, met een beetje zoeken vind je toch zelf ook wel interessante sites.
Weet ik ik vroeg ook niet of iemand anders voor we wou gaan zoeken ik vroeg of iemand toevallig nog een goede site wist maar ik ga hier liever niet over in discussie, thanks iig, kom er nu wel uit nu denk ik :)

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 23:26

Creepy

Tactical Espionage Splatterer

Verwijderd schreef op woensdag 16 februari 2005 @ 15:12:
[...]
Weet ik ik vroeg ook niet of iemand anders voor we wou gaan zoeken ik vroeg of iemand toevallig nog een goede site wist maar ik ga hier liever niet over in discussie, thanks iig, kom er nu wel uit nu denk ik :)
Mooi.

Als je om sites gaat vragen dan lijkt het alsof je zelf niet gezocht hebt, zeker als je met google een flink aantal links krijgt. Daarnaast had je ook kunnen aangeven welke informatie je zelf nu al hebt en waarom deze niet voldoet, zodat we wel het idee krijgen dat je zelf actief bezig bent geweest;)

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney

Pagina: 1

Dit topic is gesloten.