![]() |
Languages »
VBScript »
General
Intermediate
License: The GNU General Public License (GPL)
multi-protocoll ChatBy Merz_Konstantin_FFBWith this application you can chat with computers and different protocolls. |
VBScript, VB 6, .NET, Win2K, Dev
|
||||||||
|
Advanced Search |
|
|
|
||||||||||||||||
This application is a simple chat-application wich provides the way to use different protocolls.(IP, Serial, Modem, IPX, ....)
Modul1:
If you want to you can develop an Add-In(whoch is compatible with the chat) like a game to use it.
Public DX As New DirectX7 Public DP As DirectPlay4 Public DPEnum As DirectPlayEnumConnections Public DPAddress As DirectPlayAddress Public Session As DirectPlaySessionData Public DPEnumSessions As DirectPlayEnumSessions Public PlayerIDNum As Long Public PlayerFriendly As String Public PlayerFormal As String 'Warning: Don't use the string below for the chat. Public Const MyGuid As String = _ "{8EC1E2EC-5266-11D4-811C-AD15B9B82C76}" Public Sub CreateSession(ByRef ConnectionIndex As Long) 'with this we create a session. Set DPAddress = DPEnum.GetAddress(ConnectionIndex) Call DP.InitializeConnection(DPAddress) Set Session = DP.CreateSessionData Session.SetMaxPlayers 8 'here are only 8 chaters/players allowed Session.SetSessionName "ChatSession" Session.SetGuidApplication MyGuid 'the chat uses the created GUID 'these 2 flags should be enough for every application. Session.SetFlags _ DPSESSION_DIRECTPLAYPROTOCOL Or DPSESSION_MIGRATEHOST 'now we create a session based on the properties we've just set. Call DP.Open(Session, DPOPEN_CREATE) CreatePlayer Form1.Timer1.Enabled = True End Sub Public Sub JoinSession() 'here will be "discussed" wich session you join Set Session = DPEnumSessions.GetItem(Form1.List2.ListIndex + 1) 'check if one more player is allowed to join If Session.GetMaxPlayers < Session.GetCurrentPlayers Then End Session.SetGuidApplication MyGuid 'the chat/game uses the created GUID 'open and join session DP.Open Session, DPOPEN_JOIN CreatePlayer Form1.Timer1.Enabled = True End Sub Public Sub CreatePlayer() 'make attributes to the player/chater... PlayerFriendly = InputBox("Nickname", "Create Player") PlayerFormal = InputBox("Real name", "Create Player") 'now we create a player/chater - the function returns an ID which we can use to identify us self... (later) PlayerIDNum = _ DP.CreatePlayer(PlayerFriendly, PlayerFormal, 0, 0) End Sub Public Sub SendMessage() Dim Msg As DirectPlayMessage Set Msg = DP.CreateMessage 'fill message Msg.WriteString (PlayerFriendly & ": " & Form1.Text1.Text) 'send DP.SendEx PlayerIDNum, DPID_ALLPLAYERS, DPSEND_GUARANTEED, _ Msg, 0, 0, 0 Form1.List3.AddItem (PlayerFriendly & ": " & Form1.Text1.Text) Form1.Text1.Text = ("") End Sub Public Sub ReceiveMessage() Dim SourceIP As Long Dim TargetIP As Long Dim NumMessagesWaiting As Long Dim Msg As DirectPlayMessage NumMessagesWaiting = DP.GetMessageCount(PlayerIDNum) 'the number of waiting messages Do While NumMessagesWaiting > 0 Set Msg = DP.Receive(SourceIP, TargetIP, DPRECEIVE_ALL) Form1.List3.AddItem Msg.ReadString 'decrement number of waiting messages NumMessagesWaiting = NumMessagesWaiting - 1 Loop End Sub
I had no problems while developing that. These are some parts of the whole code. It's not very long and not very difficult.
| You must Sign In to use this message board. | ||||||||
|
||||||||
|
||||||||
|
||||||||
|
||||||||
General
News
Question
Answer
Joke
Rant
Admin
|
PermaLink |
Privacy |
Terms of Use
Last Updated: 23 Mar 2005 Editor: |
Copyright 2005 by Merz_Konstantin_FFB Everything else Copyright © CodeProject, 1999-2009 Web11 | Advertise on the Code Project |