vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Teil 3: Sendkeys zu ein anderen PC 
Autor: Preisser
Datum: 26.06.09 15:46

Teil 3:

In der Zeile Winsock1.RemoteHost = "localhost" musst du das localhost auf den PC-Namen / IP-Adresse ändern, wo du dich hinverbinden willst.

Für die Serveranwendung fügst du auf der Form hinzu:
Winsock-Steuerelementfeld: "Winsock1" (Index-Eigenschaft auf 0 setzen)
Timer-Steuerelementfeld: "TimerLeerlaufTrennen" (ebenfalls Index-Eigenschaft auf 0 setzen)
Label: "Label1" (zeigt die Anzahl der verbundenen Clients an)

Danach fügst du im Codefenster folgenden Code hinzu:
Option Explicit
Private Type WsClientsTyp
Belegt As Boolean
sWsockZwischenspeicher As String
sPaketZwischenspeicher As String
nGesamtlaengePaket As Long
nBereitsUebertragenPaket As Long
TimerLeerlaufZaehler As Byte
End Type
Private Type WsTyp
AnzahlClientsVerbunden As Long
WsockClients() As WsClientsTyp
End Type
Private WSocks As WsTyp
 
Private Sub Form_Load()
ReDim WSocks.WsockClients(100) As WsClientsTyp
Winsock1(0).LocalPort = 53852
Winsock1(0).Listen
 
End Sub
 
Public Function StringB(Number As Long, Character As String)
Dim CharInt As String
CharInt = MidB$(Character, 1, 1)
StringB = String(Int(Number / 2), CharInt & CharInt)
If Number Mod 2 = 1 Then StringB = StringB & CharInt
End Function
 
Public Sub LongNachByte(Zahl As Long, ByteArr() As Byte)
ReDim ByteArr(3) As Byte
ByteArr(0) = Int(Zahl / 256 ^ 3)
ByteArr(1) = Int((Zahl Mod 256& * 256& * 256&) / 256 ^ 2)
ByteArr(2) = Int((Zahl Mod 256& * 256&) / 256)
ByteArr(3) = Zahl Mod 256
End Sub
 
Public Sub WSockSendenB(Index As Integer, TextB As String)
On Error Resume Next
Dim TextLaenge As String
Dim TextLaengeArr() As Byte
LongNachByte LenB(TextB), TextLaengeArr
TextLaenge = TextLaengeArr
Dim asdaArr() As Byte
asdaArr = TextLaenge & TextB
Winsock1(Index).SendData asdaArr
If Not Err.Number = 0 Then
    Winsock1(Index).Close
    Winsock1_Close Index
End If
End Sub
 
Private Sub TimerLeerlaufTrennen_Timer(Index As Integer)
WSocks.WsockClients(Index).TimerLeerlaufZaehler = WSocks.WsockClients( _
  Index).TimerLeerlaufZaehler + 1
If WSocks.WsockClients(Index).TimerLeerlaufZaehler >= 6 Then
    'Timeout, Client trennen
    Winsock1_Close Index
    Winsock1(Index).Close
End If
End Sub
 
Private Sub Winsock1_Close(Index As Integer)
WSocks.WsockClients(Index).Belegt = False
WSocks.WsockClients(Index).nGesamtlaengePaket = 0
WSocks.WsockClients(Index).sPaketZwischenspeicher = ""
WSocks.WsockClients(Index).sWsockZwischenspeicher = ""
WSocks.WsockClients(Index).TimerLeerlaufZaehler = 0
WSocks.AnzahlClientsVerbunden = WSocks.AnzahlClientsVerbunden - 1
Label1 = "Clients verbunden: " & WSocks.AnzahlClientsVerbunden
TimerLeerlaufTrennen(Index).Enabled = False
Unload TimerLeerlaufTrennen(Index)
Winsock1(Index).Close
Unload Winsock1(Index)
End Sub
Fortsetzung in Teil 4
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sendkeys zu ein anderen PC1.200einet24.06.09 14:23
Re: Sendkeys zu ein anderen PC792Preisser24.06.09 18:25
Re: Sendkeys zu ein anderen PC760einet25.06.09 19:19
Re: Sendkeys zu ein anderen PC740Preisser26.06.09 15:44
Teil 2: Sendkeys zu ein anderen PC839Preisser26.06.09 15:45
Teil 3: Sendkeys zu ein anderen PC712Preisser26.06.09 15:46
Teil 4: Sendkeys zu ein anderen PC748Preisser26.06.09 15:47
Re: Teil 4: Sendkeys zu ein anderen PC767einet26.06.09 21:45
Re: Teil 4: Sendkeys zu ein anderen PC796Preisser26.06.09 23:09
Re: Teil 4: Sendkeys zu ein anderen PC739einet27.06.09 00:34
Re: Teil 4: Sendkeys zu ein anderen PC701Preisser04.07.09 18:47
Re: Sendkeys zu ein anderen PC717einet27.06.09 13:59
Re: Sendkeys zu ein anderen PC788einet06.07.09 18:01

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel