Hallo,
da ich mich mit ASP.NET bis jetzt noch Startschwierigkeiten hab, versuch ich für ein Produkt eine Aktiverungstechnik im Sinne von einer Client/Server Systems zu machen. bzw der Client Generiert einen Wert aus der Seriennummer der Festplatte, und schickt diesen+Seriennummer an den Server. Der speichert die ab, und Generiert einen "Produkt Aktivierungs Key" und schickt diesen an den Client zurück. Hab mit Netzwerkprogrammierung bis jetzt nicht viel am hut gehabt. Und nun dieses beispiel gefunden:
SERVER
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
Private SimpleServer As TcpListener
Private Client As New TcpClient
Private Stream As NetworkStream
Dim returnValue As IAsyncResult
Dim bytes() As Byte
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
SimpleServer = New TcpListener(System.Net.IPAddress.Parse(0), 12345)
SimpleServer.Start()
SimpleServer.BeginAcceptTcpClient(AddressOf OnConnect, New Object)
End Sub
Private Sub OnConnect(ByVal ar As System.IAsyncResult)
Client = SimpleServer.EndAcceptTcpClient(ar)
Stream = Client.GetStream
ReDim bytes(Client.ReceiveBufferSize)
Stream.BeginRead(bytes, 0, CInt(Client.ReceiveBufferSize), AddressOf _
onGetData, New Object)
End Sub
Private Sub onGetData(ByVal ar As System.IAsyncResult)
Dim clientdata As String = Encoding.ASCII.GetString(bytes)
returnValue = Stream.BeginRead(bytes, 0, CInt( _
Client.ReceiveBufferSize), AddressOf onGetData, New Object)
Stream.EndRead(returnValue)
End Sub
End Class CLIENT:
Imports System.Net.Sockets
Imports System.Text
Public Class Form1
Private SimpleClient As New TcpClient
Private Stream As NetworkStream
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles MyBase.Load
SimpleClient.Connect("127.0.0.1", 12345)
Stream = SimpleClient.GetStream
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles Button1.Click
Dim sendBytes As [Byte]() = Encoding.ASCII.GetBytes("Is anybody there")
Stream.Write(sendBytes, 0, sendBytes.Length)
End Sub
End ClassNun meine frage: Wie kann ich das so einrichten das er mehrere Anfragen von mehreren Clients verarbeiten kann? z.b. 5 Clients Senden gleichzeitig ihre Strings an den Server. Der Verarbeitet die und Sendet die an die Clients zurück. Mit dem Code oben geht zurzeit ja nur eine Client Verbindung.
mfg HaseXXL |