can't waite looks great
Printable View
can't waite looks great
If you are trying to set up a type of buddy list you are going to be better off going with a DB setup... The setup he has resets everything once the program is close I don't see how it would support friends unless everything was set to save to a text file but thats going to be a lot of text files Unless of course you dont mind that the buddy list is reset everytime... and since there is no login password anyone could potentially use that persons nickname so eventhough the person who used that name the first time might be your friend... the next person who uses it may not if you understand what I mean... there is an example if you scroll back to one of the previous pages. It has a buddy list and a DB you might want to check it out to get some ideas.
actually couldn't you have all of your settings, buddy list, and all that be saved in one text file to reduce the amount. if organized properly it would work.
reduce the ammount of what? I would think having all info in 1 file would make it take more space, seperate txt files would work better if your d oing it that way with all those txt files in there own folder per user.Quote:
Originally Posted by minidesigner
actually a txt file really isn't that large of a file especially with the info we're talking about saving in it. i could be wrong on that i'll have to test the theory but we have txt files at my office, actually the extention is mdf. okay my bad after looking at them closer they are database files but still they open as text files just with a specific format. anyway my point is the largest file is 1936 lines, you could use a standard txt file but your right as it would take more code to do than using data access in vb. sorry for type o's and me not using my brain.
My only point is that say that Fred adds Joe as a buddy... Joe doesn't use the nickname Joe the next time he logs in and instead uses JOEY111 and a guy named Tom logs in as Joe... Unless the server is going to log all the users by IP and determine who the actual buddy is anyone could log in as your "buddy" and you wouldn't know it wasn't them unless you require a password... If you are using the basic VB chat that was created in my opinion (and maybe I am wrong) but, it seems a little silly to be using a buddy list as anyone could login as your buddy and your buddy could login as any other username... That was my only point for using a database in comparison to a text file.. and the basic client side doesn't have get IP addresses for other users from the server so you would be better off doing the buddy list portion server side anyways just like in SIM chat.
other thing to think about is if you use a txt file say in sim/onlinebuddys.txt
inside that txt file is 150 online buddys. buddy number 83 sign's off. you now have to recreate that txt file everytime someone signs on or off ;]
Database is the best way.
You could store account information in .txt files. And keep buddy lists/contacts in memory and never save them to file.
You could either have one big text file with all accounts (or INI file), or a separate one for each user (probably not a good idea).
A simple database makes things a lot easier though.
Very nice Job DigiRev... Im looking forward to look at ur finished project...
A nice function to ur chat would be the microphone chat to make users able to talk... Hard to make but it would be nice... good luck:)
say the users whole friends list is in a database like this: kyle,john,mark
all separated by commas.
how would you determine the users online/offline friends(how to tell which ones are online and offline) and send the online friends, then send the offline ones?
or am i thinking of this totally the wrong way?
If you look at the Sim Chat example there is a column labeld is_online which has either a value of 0 or 1 0 being offline 1 being online that is the way i would do it, it is stored in the users table with the users username and password
Well here is a huge revamp from my previous version. Please let me know if you find any bugs or have any suggestions. Feedback is much appreciated!
If you are trying to use the e-mail feature you will need to edit the SendMail sub and enter your gmail user account information. The only thing that is not functional server side is the chatrooms feature that is still a work in progress. Ignore any foul language in the code it is mostly me talking to myself. The main server is online so feel free to connect if you have questions or want to talk.
Thanks!
Sorry guys. 2-3 more days (on Monday/Tuesday), and that is the final deadline. If it is not done by then, you can shoot me. :)
I decided to make it IM based, with user registration, database, and contact/buddy list since a lot of people seem to wonder how that is done. I am new to databases in VB myself but I am using the ADO 2.8 library and have most of it working after reading the tutorial in the CodeBank.
The only downside is you will need to register an account for every server you connect to. But I am making the registration as simple as possible, just username/email/password and password recovery question/answer.
Only accounts, contact lists, and ignore lists will be saved in the database. The rest will be done in memory on the server (who is online, offline, etc.).
This is a big project so it might be hard to learn from like this one. I am going to try & keep things as simple as possible, but some things might be done a little harder for the sake of performance.
I hope it will be worth the wait. This will be like a Yahoo! Messenger clone with a lot of the same features. ;) No voice chat in this release, though. I may do that as an update when I can take the time to sit down with it and make it work. I will also try to post some screen shots soon before it's released.
Hello all.
I was reading the post talking about the techinque you use to ban a client. Well, your proposal was to ban the IP but I have to say that this is not such smart way to ban a client given mostly simply have a dynamic IP so that the banned one has just to disconnect his modem getting a new IP and voila.
I'm talking about this argument to preserve the server and the lobby chat from hackers attach or anyway all those people who wants to annoy or crash the environment. Then my question is: is there a better way to know exactly the source of data from a client in order to ban it definitely?
Of course I'm talking about safety problems.
You can make your client send a hardware GUID (like hard drive # or something) and then ban that. Or ban an IP range...That is how a lot of anti-cheat software works in games (PunkBuster).
But if you plan to send a hardware GUID or any personal info like that you should warn the user before they use/install your program.
Or you can have it where when the user "signs up" it uploads there username into a database/file and when that user gets banned you can have a ban list. This way the username cannot be used again becuase it is in the datatbase.
But that doesn't prevent the user from creating another username
Yes but the user can just go on a differnt computer and create a new username and get around this. The user also can use ip software that gives them new ip information that hides there orignal one. There is still many go arounds to this...
But most people wouldn't go that far.
There is no way to make a fool proof ban system.
In most cases an IP ban will be more than enough.
Quote:
Originally Posted by DigiRev
ty Digirev but here my questions:
1) Why should I warn the user? I mean, do you think such actitude is under right?And if it's under right then what the users might do against me?
2) How to get those hardware informations by using Vb?
3) How a client might protect itself from being tracked that way?
ty in advance
Anytime that personal information might be sent by your program, you should let the user (and may actually be required by law to tell them but I don't know). Things like PunkBuster which is an anti-cheat system for games tells the user. It is up to you, though.Quote:
Originally Posted by Calaf
There is a submission in the code bank to get hard drive serial # (and also some more on www.pscode.com/vb). Some serial #'s can be changed, but the one in the CodeBank gets the one put in there by the hard drive manufacturer which cannot be changed.
There are a few ways. If you use the # that can't be changed then I'm not aware of any way to spoof that.
If you take programs like OlyDbg into account, people can debug/reassemble your program to send off a different hardware ID, which is not actually very hard. Finding ways around that are hard, but there are some programs you can use to help.
Any updates digi? any expected completion date?
*shoot, shoot* :p
I finished it yesterday (Tuesday ;)). I ran across a few bugs and am fixing those now then gonna package it and upload it...
post screen shots too =)
is it done yet?
he didnt say which Monday, tuesday it where.. lol
I hope it get done soon :)
It is done. Hard drive went dead (I have the worst luck) but thankfully I have everything backed up on DVDs so nothing is lost (except a lot of other stuff but not vbChat).
Thanks for being so patient. It will be worth the wait, though, for sure. ;) Getting my programs re-installed now, and then I'm going to prepare an installation and make sure everything is in order then I will upload it.
good luck
3 days later.... :lol:
Digi are you still alive? Everything going well...? Any new expected release?
DigiRev, what's up with it??
I just spoke to DigiRev. The whole thing is complete but he's having Computer issues (complete system crash) and cannot use it at the moment nor can he access it, obviously.
Give him a bit, guys.
Sata cables + Another box = Recovery of data files :D
Everything is on that old hard drive, password to my DigiRev account, e-mail address, all my programming stuff, etc. I had that computer since about 1998 so it was just a matter of time before it went wrong...but man...bad timing! I had just created a webpage for it and installation program. :mad:
It will be worth the wait, trust me. ;) Very similar to Yahoo! Messenger/Skype, etc. so if you ever wondered how a lot of the features in those work, you will get to see soon.
Thanks for being patient.
Why don't you request a new password?
hi all
how can i use vb6 to get windows password of the login username?
Only post in existing threads if your question is relevant to the thread's subject. Otherwise create a new thread.Quote:
Originally Posted by yosef_mreh
Because the password to my e-mail is on that hard drive also...Quote:
Originally Posted by TheBigB
how can you not remember your password? lols.
so has this just died or what
so whats going on with this thread
I'm not dead. I stopped programming for awhile.
I still have the code on a backup drive...if I remember correctly, it's basically done, there was just a bug or two that needs to be fixed.
I'll post it when I get around to it. I forgot about it entirely.
was looking forward to seeing your final project. i've used yours and tweeked it to work with some of the programs iwe use in my office.
would be cool to see, you find it?
I have created a chat program, I hope that you guys like it :D
vb Code:
Attribute VB_Name = "modRooms" Global frmRooms() As New frmRoomChat Public strRoomsHide() As String Dim roomIndex As Integer Public Function UbRooms() As Long On Error GoTo ErrorHandler UbRooms = UBound(frmRooms) Exit Function ErrorHandler: UbRooms = -1 Exit Function End Function Sub HandleUserLeavingRoom(Packet As String) '"ULV()Uname()Room<<" If InStr(1, Packet, Chr(2)) > 0 Then Dim packetDetails() As String Dim UserName As String Dim Roomname As String packetDetails() = Split(Packet, Chr(2)) UserName = packetDetails(1) Roomname = packetDetails(2) If RoomsHide_IsHiding(Roomname) = True Then ShowHiddenRoom Roomname WriteMesssage frmRooms(roomIndex).rtbChat, vbNullChar, UserName & " has left the room.", vbMagenta RemoveListItem frmRooms(roomIndex).lstRoomUsers, UserName, True End If End Sub Sub HandleNewRoomUser(Packet As String) '"UJN()Uname()Room<<" If InStr(1, Packet, Chr(2)) > 0 Then Dim packetDetails() As String Dim UserName As String Dim Roomname As String packetDetails() = Split(Packet, Chr(2)) UserName = packetDetails(1) Roomname = packetDetails(2) If RoomsHide_IsHiding(Roomname) = True Then ShowHiddenRoom Roomname WriteMesssage frmRooms(roomIndex).rtbChat, vbNullChar, UserName & " has entered the room.", vbMagenta RemoveListItem frmRooms(roomIndex).lstRoomUsers, UserName, True frmRooms(roomIndex).lstRoomUsers.AddItem UserName End If End Sub Public Sub AddNewRoom() ReDim Preserve frmRooms(UbRooms + 1) End Sub Sub ShowHiddenRoom(Roomname As String) Dim x As Integer For x = 0 To UbRooms If frmRooms(x).Caption = Roomname Then frmRooms(x).Show Exit Sub End If Next x End Sub Public Sub ShowRoom(strRoomName As String) Dim u As Integer u = UbRooms If u > -1 Then For roomIndex = 0 To u If frmRooms(roomIndex).Caption = strRoomName Then frmRooms(roomIndex).Show Exit For ElseIf frmRooms(roomIndex).Caption = "" Then frmRooms(roomIndex).Caption = strRoomName frmRooms(roomIndex).Show AddNewRoom Exit For End If Next roomIndex End If End Sub Public Function RoomsHide_IsHiding(ByRef Roomname As String) As Boolean Dim l As Long, u As Long, s As String u = RoomsHide_UBound s = LCase$(Roomname) If u > -1 Then For l = 0 To u If LCase$(strRoomsHide(l)) = s Then RoomsHide_IsHiding = True Exit For Else RoomsHide_IsHiding = False End If Next l End If End Function Public Function RoomsHide_UBound() On Error GoTo ErrorHandler RoomsHide_UBound = UBound(strRoomsHide) Exit Function ErrorHandler: RoomsHide_UBound = -1 Exit Function End Function Public Sub RoomsHide_Add(ByRef Roomname As String) Dim u As Long u = RoomsHide_UBound + 1 ReDim Preserve strRoomsHide(0 To u) As String strRoomsHide(u) = Roomname End Sub Sub HandleWrongRoomPassword(Packet As String) If InStr(1, Packet, Chr(2)) > 0 Then Dim packetDetails() As String packetDetails() = Split(Packet, Chr(2)) MsgBox "The password you used to enter the " & packetDetails(1) & " chat room is wrong. Please retry.", vbExclamation WriteLog frmMain.rtbLog, "Access denied to the " & packetDetails(1) & " chat room: Wrong Password.", vbMagenta End If End Sub Sub HandleJoinedRoom(Packet As String) If InStr(1, Packet, Chr(2)) > 0 Then Dim packetDetails() As String packetDetails() = Split(Packet, Chr(2)) ShowRoom (packetDetails(1)) 'WriteLog frmMain.rtbLog, NickName & " joined the " & packetDetails(1) & " chat room." End If End Sub Sub AlreadyInRoom(Packet As String) If InStr(1, Packet, Chr(2)) > 0 Then Dim Roomname As String Dim packetDetails() As String packetDetails() = Split(Packet, Chr(2)) Roomname = packetDetails(1) WriteLog frmMain.rtbLog, "You are already in the " & Roomname & " chat room." If RoomsHide_IsHiding(Roomname) = True Then ShowHiddenRoom Roomname End If End Sub Public Sub HandleRoomList(Packet As String) If InStr(1, Packet, Chr(2)) > 0 Then 'Room Packet format: "RUM()RumName2-Locked-Creator-0-200-joe> frmChatRooms.lstRooms.ListItems.Clear Dim strRoomList() As String Dim strPacketDetails() As String Dim strRoomInfo() As String Dim strRoomName As String Dim isLocked As Boolean Dim usersInside As Integer Dim strCreator As String Dim intMax As Integer Dim strPass As String Dim strIcon As String Dim i As Integer strPacketDetails() = Split(Packet, Chr(2)) strRoomList() = Split(strPacketDetails(1), vbCrLf) For i = 0 To UBound(strRoomList()) - 1 strRoomInfo() = Split(strRoomList(i), Chr(3)) strRoomName = strRoomInfo(0) isLocked = strRoomInfo(1) strCreator = strRoomInfo(2) usersInside = strRoomInfo(3) intMax = strRoomInfo(4) strPass = strRoomInfo(5) If isLocked = True Then strIcon = "closed" If isLocked = False Then strIcon = "open" With frmChatRooms.lstRooms.ListItems.Add(, , strRoomName) .SmallIcon = strIcon .SubItems(1) = usersInside .Tag = intMax & Chr(2) & strPass If strCreator = Nickname Then .bold = True .ForeColor = vbBlue End If End With Next i End If End Sub Sub HandleRoomCreatedSuccessfully(Packet As String) If InStr(1, Packet, Chr(2)) > 0 Then 'RCT()roomname()sender()Message<< Dim packetDetails() As String packetDetails() = Split(Packet, Chr(2)) MsgBox "The room " & packetDetails(1) & " has been successfully created.", vbInformation End If End Sub Sub SendRoomMessage(Roomname As String, Message As String) Dim Packet As String Packet = "RCT" & Chr(2) & Roomname & Chr(2) & Message & Chr(4) SendData Packet End Sub Sub ReceiveRoomMessage(Roomname As String, Sender As String, Message As String) If Sender = Nickname Then Exit Sub If CheckIfUserIsBlocked(Sender) = True Then Exit Sub Dim i As Integer If RoomsHide_IsHiding(Roomname) = True Then ShowHiddenRoom (Roomname) For i = 0 To UbRooms If frmRooms(i).Caption = Roomname Then Exit For Next i WriteMesssage frmRooms(i).rtbChat, Sender, Message End Sub Sub HandleRoomMessage(Packet As String) If InStr(1, Packet, Chr(2)) > 0 Then 'RCT()roomname()sender()Message<< Dim packetDetails() As String packetDetails() = Split(Packet, Chr(2)) ReceiveRoomMessage packetDetails(1), packetDetails(2), packetDetails(3) End If End Sub Sub HandleRoomUserList(Packet As String) 'On Error Resume Next '"RUS()RoomName()User1Name>>User2Name>>User3Name<< If InStr(1, Packet, Chr(2)) > 0 Then Dim packetDetails() As String Dim Roomname As String Dim roomUsers() As String Dim i As Integer packetDetails() = Split(Packet, Chr(2)) Roomname = packetDetails(1) roomUsers() = Split(packetDetails(2), vbNewLine) For x = 0 To UbRooms If frmRooms(x).Caption = Roomname Then Exit For Next x For i = 0 To UBound(roomUsers()) If Not roomUsers(i) = "" Then RemoveListItem frmRooms(x).lstRoomUsers, roomUsers(i), True frmRooms(x).lstRoomUsers.AddItem roomUsers(i) End If Next i End If End Sub
progress?
I dont know how you guys did it but for a noob like me i need to bring a whole dictionary of codes and their meanings and how they work. Any ways I Want to know if there is Any Update on this thing cause I want to examine the code a lot to know better of this codes.
And For The chat program I am thinking if you could add their profile pics when on pm.
Hoping For the finished version. Good Luck!
progress now?
even if it is not complete DigiRev, release it :p
Maybe his busy right now or somethings wrong with his computer...
But Dont lose Hope(not the cigarettes) he will release the final version we all are waiting for.
But please release it As soon as possible.
meh..
DigiRev
Please give some news, are you OK?
I've been really busy and had to take a long hiatus from programming all-together.
I'm updating this project (well, actually started from scratch) so it will have a lot of new features (custom chat rooms, users can be in multiple rooms, password-protected rooms, etc.). This will hopefully hold you over until I finally finish the instant messenger, which had a lot of nasty bugs so I had to rewrite most of it. :sick:
Not to sound like I'm bragging, but the instant messenger will probably be the best one released that I'm aware of in VB6, even though there are tons of good ones on www.pscode.com. There are really tons of features...
Anyway, updated project will be posted soon and following, the instant messenger. :thumb:
Here's just a few screen shots of the client... it's going to be a tabbed-based client, and function like FireFox, where each room you're in has its own tab.
There's also file transfers, and other stuff.
Cool! Im intrested in seeing how this comes out!
It's almost done. :D
I had to remove the screenshot of the file transfers window, but it looks & functions like FireFox's download manager. ;)
Also, I might have to wait for webcam features since I need to find mine to be able to test it.
Another feature I'm adding is protocol support, so you can click a link in a web browser like: vbchat://ServerIP:Port and it will automatically launch the program and connect to the server.
Cool!!!
More than I expected.
Never thought of something like thing. I thought it would be simple. Maybe you could add a skin feature/themes wherein you can change skins/themes that you want and also make your own.
Look like a great project
Any updates?
Hi, I've been tracking this thread for some time now..
I'm really looking forward to the new version.. any updates?