tcpchat-client einige fragen

  • VB.NET (ASP)

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von MVN050.

    tcpchat-client einige fragen

    moin leute

    ich wollte mich mal bissle mit dem aps.net auseinander setzen und habe mir visual studio express für weg runtergeladen.
    und ja ich habe ein webserver!

    ich habe schön länger ein tcp-chat programm gebaut und wollte mich nun mit asp (also von der website) verbinden.
    die verbindung konnte ich problemlos aufbauen aber dan scheintert alles weitere.
    was ich versucht habe? nunja ich habe einfach den client-code von hier genommen [VB.NET] Multiserver (TCP) und hatte gehofft das es funktionieren würde...

    allerdings mäkert die ide bei

    VB.NET-Quellcode

    1. [tt]
    2. Public Sub Listen()
    3. While client.Connected
    4. Try
    5. Me.Invoke(New DAddItem(AddressOf AddItem), streamr.ReadLine)
    6. Label1.Text = "error2"
    7. Catch
    8. ...
    9. ...
    10. ...
    11. [/tt]

    Me.Invoke gibt es bei asp.net wohl nicht? gibt es dafür eine andere alternative? oder heisst es anders?

    mein nächstes problem ist
    die verbindung konnte ich ohne probleme aufbauen allerdings bekomme ich eine fehlermeldung wenn ich den stream./streamw/streamr aufrufe und damit was senden will. zb hier
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Protected Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. streamw.WriteLine("/say |error.png|clan|webtest|TextBox1.Text")
    3. streamw.Flush()
    4. ' TextBox1.Clear()
    5. End Sub

    auch her bekomme ich eine fehlermeldung

    VB.NET-Quellcode

    1. Protected Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
    2. Me.client.Close()
    3. Me.stream.Close()
    4. Me.streamr.Close()
    5. Me.streamw.Close()
    6. End Sub



    muss ich da vllt irgentwas anders machen gegenüber von der destopanwendung?
    ich möchte eigentlich nur das ich meine userliste/onlineliste habe und eine chatverlauf... also nur ganz simpel gegenüber meiner destopversion ;)
    falls ihr wollt poste ich meinen kompletten code aber es ist fast der selbe den es hier im sourcecode-Austausch gibt ;)

    weitere frage
    wieso geht TextBox1.Clear() nicht? zumindest gibt es die funktion bei mir nicht? muss ich dafür ernsthaft TextBox1.text=""() benutzen oder was?

    sorry aber ich habe heute erst mit asp angefangen also nicht wundern wenn hier noch viel mehr fragen kommen :)

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „MVN050“ ()

    @n1nja
    danke für die antwort. ich bin leider kein profi und ich denke wenn ich die sub ganznormal aufrufe wird das mit dem empfangen vom server nix oder?

    aber das hilft mir leider bei meinem anderen problem auch nicht viel weiter.
    ich habe mein code von hier [VB.NET] Multiserver (TCP) habe eigentlich nur meine daten zum server angepasst und die verbindung zum server besteht... allerdings kann ich nix senden?
    Kannst du mich ein bisschen über asp.net informieren ? Was kann man damit machen ? Soweit ich gerade in Wikiedia verstanden habe, Website-Anwendungen in vb.net schreiben oder ? Denn sowas suche ich schon den ganzen Tag xD
    @xd-franky-5
    ja damit kannst du websiten erstellen. ich habe es selber erst seit heute.
    du brauchst dazu aber ein webserver. visual studio für web (eigenständiges programm) liefert einen eigenen mit zum testen...
    du kannst eigentlich das was php macht auch mit asp machen nur statt php nimmst du vb ;) aber das können wir gerne mit pm klären ;) ich möchte hier im forum eigentlich hilfe zu meinem problem erhalten :)
    ich habe mal wieder etwas weiter gebastelt und bin auf folgende probleme gestossen vllt kann mir ja
    @n1nja
    da weiterhelfen?

    ich habe nun herrausgefunden das jeder buttonklick die seite komplett neu läd. :S kann man das irgentwie verhindern? ich habe auch schon im netz gekuckt und wenn ich das bisjetzt richtig verstanden habe heist es "postback"? jedenfalls sind meine versuche bisjetzt alle gescheitert...

    ich habe nun mein verbindung zum tcp-chat in die page-load eingebaut und somit verbindet sich mein asp-client auch direkt mit meinem server :rolleyes: allerdings wenn ich auf den buttton zum senden klicke wird es zwar gesendet (ja es funktioniert) aber die seite läd sich neu und ich habe 2 clients in meinem chat, was ich garnit will...

    dessweterhin habe ich ein problem mit dem anzeigen der nachrichten. in einer msgbox bekomme ich die nachrichten angezeigt. ich will sie aber gerne in einer listbox oder textbox haben aber irgentwie geht auch das nicht :huh: ich bekomm keine fehlermeldung sondern es tut sich einfach nix...


    in der ähm default.aspx (.html?) datei steht das hier drinne
    Spoiler anzeigen

    VB.NET-Quellcode

    1. <%@ Page Language="VB" AutoEventWireup="false" CodeFile="Default.aspx.vb" Inherits="_Default" %>
    2. <!DOCTYPE html>
    3. <html xmlns="http://www.w3.org/1999/xhtml">
    4. <head runat="server">
    5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    6. <title></title>
    7. </head>
    8. <body>
    9. <form id="form1" runat="server">
    10. <div>
    11. <asp:Button ID="Button1" runat="server" Text="Verbinden" />
    12. <asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
    13. </div>
    14. <asp:ListBox ID="ListBox1" runat="server" Height="329px" Width="370px">
    15. <asp:ListItem></asp:ListItem>
    16. </asp:ListBox>
    17. <asp:ListBox ID="ListBox2" runat="server" Height="323px" style="margin-top: 0px" Width="146px"></asp:ListBox>
    18. <p>
    19. <asp:Button ID="Button3" runat="server" Text="close" OnClick="Button3_Click" />
    20. <asp:TextBox ID="TextBox1" runat="server">hi</asp:TextBox>
    21. <asp:Button ID="Button2" runat="server" Text="close" />
    22. <asp:Button ID="Button4" runat="server" Text="button4" />
    23. </p>
    24. </form>
    25. </body>
    26. </html>


    zum senden habe ich hier das benutzt
    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
    2. streamw.WriteLine("/say |error.png|clan|webtest|TextBox1.Text")
    3. streamw.Flush()
    4. End Sub

    muss ich da noch irgentwas mit javascript machen das sich die seite nicht immerwieder neu läd?


    zum empfangen benutze ich das hier aber wie gesagt geht nur die msgbox aber der eintrag in die listbox funktioniert nicht
    auch wenn ich die msgbox ausbaue tut sich garnix.

    Spoiler anzeigen

    VB.NET-Quellcode

    1. Public Sub Listen()
    2. TextBox1.Text = "gulasch"
    3. While client.Connected
    4. Try
    5. MsgBox(streamr.ReadLine & "jipi")
    6. ListBox1.Items.Add(streamr.ReadLine & "jipi")
    7. Label1.Text = "error2"
    8. Catch
    9. ...
    10. end sub


    kann mir da jemand helfen? ich denke das problem liegt daran das sich die seite bei jedem buttonklick neuläd 8|
    wenn ichIf (Page.IsPostBack) Then in die page-load mache wird zwar die verbindung nicht neu aufgerufen allerdings besteht dan garkeine verbindung...

    n1nja schrieb:

    Ich schau es mir morgen mal etwas genauer an.
    Normal müsste es mit Postback gehn.

    @n1nja
    vllt hab ich auch ein denkfehler oder ka...
    man drück auf dne button (verbinden) client verbindet sich und dan wird doch ein postback gesendet oder wie ist das? und genau in dem moment bin ich doch nicht mehr mit dme tcp-chat server verbunden weil sich doch die seite (test.asp) neuläd.
    jetz hab ich die verbindung in "page_load" gemacht aber das bewirkt ja auch nich das was ich will...
    seite wird geladen-verbindet sich zum chatserver (soweit so gut)
    man drück auf den "textsenden" button...
    >>>text wird gesendet-seite wird neugeladen-neue verbindung zum chatserver wird aufgebaut
    wenn ich das mit postback mache dan
    >>> error da ja keine verbindung zum chatserver beseht ?(