EASYTCPLib

    • Beta

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

      Name des Programms:
      Easy TCPLibary

      Beschreibung:
      Eine einfache Dll zum erstellen von TcpClienten und -Servern.

      Screenshot(s):
      Gibt keine.

      Verwendete Programmiersprache:
      Visual Basic 2010 Express.

      Systemanforderungen:
      .NET Framework 4.0

      Download:
      Anhang

      Lizenz/Weitergabe:
      Freeware
      Namensnennung erwünscht!
      Basiert auf dem Tutorial von Kevin89.

      Alles über die DLL:
      EASYTCP.Server.EASYTCPServer
      -Funktionen:
      Starten As String (Bringt nur für mich etwas)
      -Routinen:
      SendToAllClients(s As String)
      ListenToConnection(Con As Connection)
      New(IpEndPoint As IPEndPoint,Port As Integer)
      -Propertys:
      IPEndPointer As IPEndPoint
      -Events:
      Client_VerbundenFertig
      Client_VerbindungAufbauen
      Neuer_Server
      -Variablen: (Die du nicht benutzen musst)
      list As New List(Of Connection)

      EASYTCP.Client.EASYTCPClient
      -Funktionen:
      LeseSchreibStream As NetworkStream
      VomServerEmpfangen As String
      -Routinen:
      DisconnectClient
      SendeKoordinaten(Höhe As Double,Länge As Double,Breite As Double)
      AnServerSenden(ParamArray Meldung As Objekt)
      Connect(Adresse As String,Port As Integer)
      New(Adresse As String,Port As Integer)
      -Propertys:
      Port As Integer
      Adresse As String
      -Events:
      Client_Connect()
      Client_Close()
      Neuer_Server()

      So,zum Beispielcode:
      Erst der Client:

      VB.NET-Quellcode

      1. Imports EASYTCP.Client
      2. Public Class Client
      3. Public WithEvents Client As EASYTCPClient
      4. Public Streamer As NetworkStream
      5. Public Meldung As String
      6. Private Sub LoadER(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
      7. Client = New EASYTCPClient("Deine Adresse", 25565) 'Bei mir ist 25565 der Standartport ;-)
      8. Client.Connect(Client.Adresse, Client.Port) 'Entweder durch New,Durch Propertys oder in der Klammer
      9. Client.Adresse = "Meine Adresse"
      10. Client.Port = 25565
      11. Streamer = Client.LeseSchreibStream()
      12. Meldung = Client.VomServerEmpfangen()
      13. Client.DisconnectClient()
      14. End Sub
      15. Public Sub Geschlossen() Handles Client.Client_Close
      16. End Sub
      17. Public Sub HalloServer() Handles Client.Client_Connect
      18. End Sub
      19. Public Sub NeuerServer() Handles Client.Neuer_Client
      20. End Sub
      21. End Class


      Und dann der Server:

      VB.NET-Quellcode

      1. Imports EASYTCP.Server
      2. Imports System.Net.Sockets 'Wirst du nicht benötigen.
      3. Imports System.Net 'Genauso wenig.
      4. Public Class Server
      5. Public WithEvents Server As EASYTCPServer
      6. Private Sub LoadER()
      7. Server.Starten() 'Das was in der Funktion rauskommt ist eigentlich nicht zu gebrauchen aber ich benötige es manchmal
      8. Server.SendToAllClients("Meine Meldung") 'An alle Clienten weitersenden.
      9. Server.IPEndPointer = New IPEndPoint(IPAddress.Any, 25565) 'Brauchst du nicht,wird in der Property selber gemacht.
      10. End Sub
      11. Public Sub HalloClient() Handles Server.ClientVerbundenFertig
      12. End Sub
      13. Public Sub HierBinIchClient() Handles Server.ClientVerbindungAufbauen
      14. End Sub
      15. Public Sub NeuerServer() Handles Server.Neuer_Server
      16. End Sub
      17. End Class


      So ich hoffe das reicht jetzt nach dem es schon einmal gelöscht wurde.
      Viel Spaß mir der DLL!
      Ricky
      Dateien
      • EASYTCP.dll

        (22,02 kB, 155 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „Ricky“ ()

      Es werden in der nächsten Version warscheinlich Events wie z.B. Connection_Lost kommen.
      Wer fragen hat kann sie hier schreiben :D
      Ich habe mir mal die Mühe gemacht einige Klassendiagramme zu erstellen(siehe Anhang).
      Ricky
      Dateien

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

      Deutsch und Englisch in den Funktionsnamen gemischt, das ist ja schonmal prickelnt.. Außerdem gibts sowas hier schon 3x, und dazu auch noch ein Tutorial. Ich unterstelle dir jetzt einfach mal, das du das Grundgeürst eh von Kevin hast ;)
      FTP soso.


      [Beta] EasyTCPLib 1.0.0.2
      [Release] [Multi]TCPLib (Server und Client) v1.0.0.1
      [Release] EasyTCPLib [by Shawak]

      Aber wenn du noch ein bischen mehr einbaust wirds sicher Interessant, vielleicht etwas in Richtung, Multiplayer tauglichkeit?
      Da könnte ich SendByte oder SendString o.ä. einbauen(Für Koordinaten).
      Aber eine gute Idee.

      -->So ich habe jetzt eine DreiDKoordinatenKlasse die übertragen wird(Sende Koordinaten)(für die die es brauchen :D /Ansonsten 2D)
      Ist jetzt oben mit in der Liste!

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „Ricky“ ()

      Eine weitere TCP Lib braucht kein mensch. Ehrlich.
      Ich finde sowas wie "Managed UDP" viel besser.
      Oder ein TCP Server, der UDP mit unterbringt z.b. für Peer2Peer.
      Und so ein TCP Server ist wirklich das einfachste.
      Da braucht man nichtmal ne "lib" (bitte namen ausschreiben: library!).

      FlashTek schrieb:

      BeefyX schrieb:

      Oder ein TCP Server, der UDP mit unterbringt z.b. für Peer2Peer.

      wat?

      Ja ich meinte das nicht so wie es da steht. :D
      Ist etwas schwer unterzubringen.
      Anstatt dass der TCP Server die daten von benutzer A -> benutzer B bringt und andersrum, lass doch direkt die Benutzer miteinander kommunizieren (peer2peer).
      Sprich, der TCP Server sagt den benutztern nur die IPs und Ports.