Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › IM Client in Mono/C#
New Posts  All Forums:Forum Nav:

IM Client in Mono/C#

post #1 of 38
Thread Starter 
Little project I'm working on here. Two years ago I wrote up an IM protocol and a really nice client in .NET. Since then I've moved to Linux, etc. etc., and I've been putting off making a new dedicated client. Well, now I'm finally doing it. The new client will be cross-platform to anything that has a CLR (ok, so that's just Windows and Linux... whatever), and will contain tons of new features. IN the works are video streaming (for webcams), direct file transfers (with user throttling), IRC-like chat features (op, topics, etc.), and much more.



Currently have the entire messaging backend working, as well as a WYSIWYG editor using a GtkTextView and function to convert the tagged buffer to HTML. The editor has a few keyboard shortcuts as well (and pressing Enter sends, just like any other messaging client). Chat room support also exists, but I have not yet added a user list. Friends list currently doesn't display anything except you, and it's hard coded to login to my testing account (which I use for everything related to testing the protocol). I also have a status tray icon, which hides/shows the friends list, but other than that does nothing useful. Today I'll be finishing up some things on the friends list (it doesn't display any useful status information, and actually doesn't update at all nor store any real friends) and adding a login system (a simple one for now, future releases will feature multiple profiles, stored logins, automatic login, and more) so that I can deploy the prealpha to some friends.
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
post #2 of 38
Will it be open-source?
1+8
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Celeron G530 AsRock H61M-VS ASUS 8800 GS 384MB 2x2GB DDR3 1333MHz 
Hard DriveOSMonitorPower
WD Caviar Blue 500GB Gentoo Samsung 226BW HiPro 480W 
  hide details  
Reply
1+8
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Celeron G530 AsRock H61M-VS ASUS 8800 GS 384MB 2x2GB DDR3 1333MHz 
Hard DriveOSMonitorPower
WD Caviar Blue 500GB Gentoo Samsung 226BW HiPro 480W 
  hide details  
Reply
post #3 of 38
Thread Starter 
Yes, and fully documented, both the client and the server. (Server is written in Python and is meant to be used for private networks).
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
post #4 of 38
Wow, that's really nice. Can't wait for the release. Even (pre)alpha.
1+8
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Celeron G530 AsRock H61M-VS ASUS 8800 GS 384MB 2x2GB DDR3 1333MHz 
Hard DriveOSMonitorPower
WD Caviar Blue 500GB Gentoo Samsung 226BW HiPro 480W 
  hide details  
Reply
1+8
(13 items)
 
  
CPUMotherboardGraphicsRAM
Intel Celeron G530 AsRock H61M-VS ASUS 8800 GS 384MB 2x2GB DDR3 1333MHz 
Hard DriveOSMonitorPower
WD Caviar Blue 500GB Gentoo Samsung 226BW HiPro 480W 
  hide details  
Reply
post #5 of 38
did you invent your own IM standard or is it compatible with something?
Khaos
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 @ 4.59ghz Asus P6T Gigabyte GTX 1080 48GB 6 x G.SKILL Ripjaws X 8GB DDR3 1866 
Hard DriveCoolingOSMonitor
28 x WD Blk 8TB Raid 6 on Areca 24 port SATA/SA... Xigmatek 1283EE 2016 Standard 3x 43" 4k 120hz 
KeyboardPowerCaseMouse
Ergodox Infinity 1.2b Dual 1200w P2 CM Stacker 810 Roccat Tyon 
Mouse PadAudio
48x16" deskmat SMSL AD18, Klipsch R-15M, xDuoo DAC, AKG K7XX 
  hide details  
Reply
Khaos
(14 items)
 
  
CPUMotherboardGraphicsRAM
i7 920 @ 4.59ghz Asus P6T Gigabyte GTX 1080 48GB 6 x G.SKILL Ripjaws X 8GB DDR3 1866 
Hard DriveCoolingOSMonitor
28 x WD Blk 8TB Raid 6 on Areca 24 port SATA/SA... Xigmatek 1283EE 2016 Standard 3x 43" 4k 120hz 
KeyboardPowerCaseMouse
Ergodox Infinity 1.2b Dual 1200w P2 CM Stacker 810 Roccat Tyon 
Mouse PadAudio
48x16" deskmat SMSL AD18, Klipsch R-15M, xDuoo DAC, AKG K7XX 
  hide details  
Reply
post #6 of 38
Thread Starter 
Quote:
Originally Posted by LiNERROR View Post
did you invent your own IM standard or is it compatible with something?
It's my own standard with a user-base of around 40. I'll probably make the client use IRC as well at some point, though.
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
post #7 of 38
Nice, looking forward to trying it. Made a simple chat client in java for one of my networking classes, was a lot of fun.
BlackMesa
(14 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II x6 Gigabyte XFX RF460 16gb G.Skill 
Hard DriveHard DriveOSMonitor
OCZ Vertex2 Sata II Coorsair Force GS Sata III Debian (testing) Shimian 27" 
KeyboardMouse
Filco w/ blue cherries Who needs a mouse? 
  hide details  
Reply
BlackMesa
(14 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II x6 Gigabyte XFX RF460 16gb G.Skill 
Hard DriveHard DriveOSMonitor
OCZ Vertex2 Sata II Coorsair Force GS Sata III Debian (testing) Shimian 27" 
KeyboardMouse
Filco w/ blue cherries Who needs a mouse? 
  hide details  
Reply
post #8 of 38
Thread Starter 
Switch from a TreeStore to a ListStore and now everything is working right.
Also implemented a queue and moved the byte[]->string processing into the receiving thread. The queue ensures that everything is acted on at some point, in case the Invoke() is late. The chat room uses a VPaned to hold the Gecko renderer and the user list.
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
post #9 of 38
Sweet, I can't wait to use this. Hit me up when you need Alpha and Beta testers.
FX Rig
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD FX-8320e Gigabyte GA-970A-UD3P Sapphire R9 380 4GB 2x8GB Crucial Ballistix DDR3-1600 
Hard DriveHard DriveOptical DriveCooling
Intel 240GB SSD HGST 4TB Storage DVD-RW Cooler Master Hyper 212 EVO 
OSMonitorPowerCase
Windows 7 x64 AOC 27" 1080p Corsair CX750m Corsair 200R 
Audio
Asus Xonar DS 
  hide details  
Reply
FX Rig
(13 items)
 
  
CPUMotherboardGraphicsRAM
AMD FX-8320e Gigabyte GA-970A-UD3P Sapphire R9 380 4GB 2x8GB Crucial Ballistix DDR3-1600 
Hard DriveHard DriveOptical DriveCooling
Intel 240GB SSD HGST 4TB Storage DVD-RW Cooler Master Hyper 212 EVO 
OSMonitorPowerCase
Windows 7 x64 AOC 27" 1080p Corsair CX750m Corsair 200R 
Audio
Asus Xonar DS 
  hide details  
Reply
post #10 of 38
Thread Starter 
I'm in the middle of rewriting my networking interface to make it work properly with multiple connections, and with that, multiple accounts. It will also allow the use of multiple servers, which is quite beneficial considering my targeted audience. I'm also trying to improve function names for anyone who may use the libraries, as well as for myself (trying to get things more organized).
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
Luka
(13 items)
 
  
CPUMotherboardGraphicsRAM
Phenom II X4 (4x 3.0GHz) BIOSTAR TA790GXB ECS GeForce 9800 GT 4GB DDR2 
Hard DriveOptical DriveOSMonitor
1TB Seagate 7200RPM LG DVD Burner Ubuntu 10.04; Windows 7 Pro 2x ViewSonic VA2226W (22" LCDs) 
KeyboardPowerCaseMouse
Logitech Cordless Desktop EX110 mushkin 550200 550W COOLER MASTER Elite 330 Logitech Cordless Desktop EX110 
  hide details  
Reply
New Posts  All Forums:Forum Nav:
  Return Home
  Back to Forum: Linux, Unix
Overclock.net › Forums › Software, Programming and Coding › Operating Systems › Linux, Unix › IM Client in Mono/C#