If you're building this to gain some new skills or demo your work, AWESOME! If this chat room is going to be heavily used, you might want to reconsider. ASP wasn't built to handle something like this and you're going to run into a lot of problems when a lot of people start using it. Having said that, here's a few things to keep in mind:
- The most obvious way to keep track of who's in the chat room is to create a table that lists the people currently chatting. Avoid this. When a person closes their browser without logging out, their name will be stuck in the in the table and screw everything up. You're probably going to have to write some code that (a) updates a timestamp in their profile when they post, login, or refresh the chat window and then (b) tracks only users who've had activity in the last 15 minutes or so. This method does have a higher overhead cost on the server but it's still preferable to having names stuck in the 'Current Users' table indefinitely.
If you do end up just using a single frame to load the chat content, make sure to add a bookmark at the end of the text so that people don't have to scroll down to view the new messages. Or, alternatively, you could just post the new content on top of the screen but this is counter-intuitive for most users.
- Finally, users are going to hear a click evertime the iFrame refreshes. There's no way to turn this off from your end. Either the user will have to disable it manually on their browser, or mute their speakers, otherwise the constant clicking will drive them nuts.
I hope this was helpful in some way.
Good luck on your project,
Hope this helped in some way