How to encapsulate this ?


 
Thread Tools Search this Thread
Top Forums Programming How to encapsulate this ?
# 1  
Old 11-14-2006
How to encapsulate this ?

Hello !

I have a pretty question.I am working on a client-server chat aplication for Linux shell's.

When a user connect , is receives a window for the username . It has to enter the username, which will be used for future chat and private message ( + other option's ). I'm using socket's for network connection.

The point is , after a user is connect to server socket , the user has to enter a username . The problem here comes like that. Where does the chat server knew , if the username string is an ordinary string , used for chat , or the username string itself ?

I figure to do , some easy encaspulation.When the client connect , and receive username window , the username string is encapsulated with , let's say "***" at the end .

Let's say user !_30 is connected . First the client sends "!_30***" to server , the server dencapsulate those 3 '***' , and knows client username.

The problem here is that , when a user accidentaly send's "***" in main chat , whole sistem is doomed . The server sees "***" at the end .. of ( nothing ) and think's a new user is connected to the server.

How can I make this encapsulation/dencapsulation , transparent to send proces , not altering the string , and be doomed like up ..?

Any idea's , raw socket's ? Because the idea I mention is the only one that came , in that moment in my head .


Any ideas , is apreciate ! Cheer's ! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread
Login or Register to Ask a Question
KNIFE-CONFIGURE(1)						    Chef Manual 						KNIFE-CONFIGURE(1)

NAME
knife-configure - Generate configuration files for knife or Chef Client SYNOPSIS
knife configure [client] (options) DESCRIPTION
Generates a knife.rb configuration file interactively. When given the --initial option, also creates a new administrative user. CONFIGURE SUBCOMMANDS
knife configure (options) -i, --initial Create an initial API Client -r, --repository REPO The path to your chef-repo Create a configuration file for knife. This will prompt for values to enter into the file. Default values are listed in square brackets if no other entry is typed. See knife(1) for a description of configuration options. knife configure client directory Read the knife.rb config file and generate a config file suitable for use in /etc/chef/client.rb and copy the validation certificate into the specified directory. EXAMPLES
o On a freshly installed Chef Server, use knife configure -i to create an administrator and knife configuration file. Leave the field blank to accept the default value. On most systems, the default values are acceptable. user@host$ knife configure -i Please enter the chef server URL: [http://localhost:4000] Please enter a clientname for the new client: [username] Please enter the existing admin clientname: [chef-webui] Please enter the location of the existing admin client's private key: [/etc/chef/webui.pem] Please enter the validation clientname: [chef-validator] Please enter the location of the validation key: [/etc/chef/validation.pem] Please enter the path to a chef repository (or leave blank): Creating initial API user... Created (or updated) client[username] Configuration file written to /home/username/.chef/knife.rb This creates a new administrator client named username, writes a configuration file to /home/username/.chef/knife.rb, and the private key to /home/username/.chef/username.pem. The configuration file and private key may be copied to another system to facilitate adminis- tration of the Chef Server from a remote system. Depending on the value given for the Chef Server URL, you may need to modify that set- ting after copying to a remote host. SEE ALSO
knife(1) knife-client(1) AUTHOR
Chef was written by Adam Jacob adam@opscode.com with many contributions from the community. DOCUMENTATION
This manual page was written by Joshua Timberman joshua@opscode.com. Permission is granted to copy, distribute and / or modify this docu- ment under the terms of the Apache 2.0 License. CHEF
Knife is distributed with Chef. http://wiki.opscode.com/display/chef/Home Chef 10.12.0 June 2012 KNIFE-CONFIGURE(1)