Über IP adresse nachricht verschicken
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von powerprogger.
-
-
-
-
-
-
-
versuchs mal hiermit:
(allerdings VB6)
Brainfuck-Quellcode
- 'Um Fehler oder Fragen zu klären, nutzen Sie bitte unser Forum.
- 'Ansonsten viel Spaß und Erfolg mit diesem Source!
- '------------ Anfang Projektdatei MultiChat.vbp ------------
- ' Die Komponente ' (mswinsck.ocx)' wird benötigt.
- ' Die Komponente 'Microsoft Rich Textbox Control 6.0 (SP6) (richtx32.ocx)' wird benötigt.
- ' Die Komponente 'Microsoft Windows Common Controls 6.0 (SP6) (MSCOMCTL.OCX)' wird benötigt.
- '---------- Anfang Formular "Chat" alias Chat.frm ----------
- ' Steuerelement: Windows Socket "WinSock" (Index von 0 bis 0)
- ' Steuerelement: Rahmensteuerelement "frmData"
- ' Steuerelement: Textfeld "txtPort" auf frmData
- ' Steuerelement: Textfeld "txtHostIP" auf frmData
- ' Steuerelement: Textfeld "txtNick" auf frmData
- ' Steuerelement: Beschriftungsfeld "lblPort" auf frmData
- ' Steuerelement: Beschriftungsfeld "lblHost" auf frmData
- ' Steuerelement: Beschriftungsfeld "lblNick" auf frmData
- ' Steuerelement: Schaltfläche "cmdSend"
- ' Steuerelement: Statusbar "stBar"
- ' Steuerelement: RichTextBox "rftReceive"
- ' Steuerelement: RichTextBox "rtfSend"
- ' Steuerelement: Rahmensteuerelement "frmActAs"
- ' Steuerelement: Schaltfläche "cmdGo" auf frmActAs
- ' Steuerelement: Schaltfläche "cmdClient" auf frmActAs
- ' Steuerelement: Schaltfläche "cmdServer" auf frmActAs
- Option Explicit
- Dim boolServer As Boolean
- Private Sub cmdClient_Click()
- ' Als Client identifizieren und die Möglichkeiten vorgeben
- boolServer = False
- cmdServer.Enabled = False
- cmdClient.Enabled = False
- cmdGo.Enabled = True
- End Sub
- Private Sub cmdGo_Click()
- Dim I As Integer
- ' Loge ich mich gerade ein ?
- If cmdGo.Caption = "Go" Then
- ' Erst mal die Einstellungen einfrieren
- txtNick.Enabled = False
- txtHostIp.Enabled = False
- txtPort.Enabled = False
- cmdGo.Caption = "Stop"
- ' Bin ich Server ?
- If boolServer = True Then
- Winsock(0).LocalPort = txtPort.Text
- Winsock(0).Listen
- stBar.SimpleText = "Status: Listening"
- Else
- Winsock(0).RemotePort = txtPort.Text
- Winsock(0).RemoteHost = txtHostIp.Text
- Winsock(0).Connect
- stBar.SimpleText = "Status: Connecting to " & _
- txtHostIp.Text & ":" & txtPort.Text
- End If
- ' Ich logge mich gerade aus
- Else
- ' Bin ich Server ?
- If boolServer = True Then
- ' Erst mal alle Verbindungen schließen und unnötige
- ' WinSocks entladen
- For I = 1 To Winsock.Count - 1
- Winsock(I).Close
- Unload Winsock(I)
- Next I
- Else
- Winsock(0).Close
- End If
- ' Jetzt wieder alles in den Urzustand versetzen
- txtNick.Enabled = True
- txtPort.Enabled = True
- txtHostIp.Enabled = True
- cmdGo.Caption = "Go"
- cmdGo.Enabled = False
- cmdClient.Enabled = True
- cmdServer.Enabled = True
- stBar.SimpleText = "Status: Offline"
- End If
- End Sub
- Private Sub cmdSend_Click()
- Dim strMessage As String
- strMessage = "{" & txtNick.Text & "}:" & rtfSend.Text
- ' Bin ich Server
- If boolServer = True Then
- SendMessage strMessage
- rftReceive.Text = rftReceive.Text & vbCrLf & strMessage
- Else
- If Winsock(0).State = 7 Then Winsock(0).SendData strMessage
- End If
- rtfSend.Text = ""
- End Sub
- Private Sub cmdServer_Click()
- ' Erst mal die Buttons ändern
- cmdClient.Enabled = False
- cmdGo.Enabled = True
- cmdServer.Enabled = False
- ' Jetzt bin ich Server
- boolServer = True
- End Sub
- Private Sub WinSock_Close(Index As Integer)
- If Index = "0" Then
- stBar.SimpleText = "Status: Offline"
- Else
- stBar = "Status: Verbunden mit " & Winsock.Count - 1 & " " & _
- "Client(s)."
- End If
- End Sub
- Private Sub WinSock_Connect(Index As Integer)
- ' Jetzt soll man ja wissen, daß man drinnen ist
- stBar.SimpleText = "Status: Connected to " & txtHostIp.Text & ":" _
- & txtPort.Text
- End Sub
- Private Sub WinSock_ConnectionRequest(Index As Integer, ByVal _
- requestID As Long)
- ' Ein neues WinSock laden und die Verbindung übernehmen lassen
- Dim intZähler As Integer
- intZähler = Winsock.Count
- Load Winsock(intZähler)
- Winsock(intZähler).LocalPort = txtPort.Text
- Winsock(intZähler).Accept requestID
- stBar.SimpleText = "Status: Verbunden mit " & Winsock.Count - 1 & _
- " Client(s)."
- End Sub
- Private Sub WinSock_DataArrival(Index As Integer, ByVal bytesTotal As Long)
- Dim strMessage As String
- ' Nachricht holen
- Winsock(Index).GetData strMessage
- ' Bin ich der Server? Dann weiterleiten
- If boolServer = True Then SendMessage strMessage
- ' Ich mags auch sehen
- rftReceive.Text = rftReceive.Text & vbCrLf & strMessage
- End Sub
- Private Sub SendMessage(Message As String)
- Dim I As Integer
- ' Weiterleiten an die anderen clients
- For I = 1 To Winsock.Count - 1
- ' Erst mal schauen ob die Verbindung steht
- If Winsock(I).State = 7 Then Winsock(I).SendData Message
- Next I
- End Sub
- Private Sub WinSock_Error(Index As Integer, ByVal Number As Integer, _
- Description As String, ByVal Scode As Long, ByVal Source As String, _
- ByVal HelpFile As String, ByVal HelpContext As Long, _
- CancelDisplay As Boolean)
- If Index < 0 Then
- Winsock(Index).Close
- Unload Winsock(Index)
- rftReceive.Text = rftReceive.Text & vbCrLf & "{System}: " & _
- "Verbindung zu einem Host abgebrochen."
- Else
- Winsock(Index).Close
- rftReceive.Text = rftReceive.Text & vbCrLf & "{System}: Dich " & _
- "hats gerade gegrillt."
- cmdServer.Enabled = True
- cmdClient.Enabled = True
- cmdGo.Caption = "Go"
- cmdGo.Enabled = False
- stBar.SimpleText = "Status: Offline wegen Verbindungsproblem."
- End If
- End Sub
funktioniert auch übers Internet... habs mit meiner Freundin getestetDieser Beitrag wurde bereits 1 mal editiert, zuletzt von „powerprogger“ ()
-
-
-
Ähnliche Themen
-
2 Benutzer haben hier geschrieben
- Gast (6)
- Lupus (3)