Messenger Server & NIO

Hello!
I have to implement a messenger server and I need some help.
I haven't decided yet what to use: traditional Socket (blocking) or NIO. Using Sockets I can send and receive objects (part of the protocol), but I know that SocketChannel does't allow object transmision (it would be a blocking system violation).
I am waiting your suggestions.
Thank you!

Hi,
I have implemented a NIO server that reads and writes objects delimited by a packet header and length. There is no problem with that. Just write a class that scans for packages, and once a complete package is found you extract the object bytes and uses them as a source for an ObjectInputStream.
/Kaj

Similar Messages

  • JES Messenging Server (v6.0)  issues: SMTP Error: 4.0.0

    Hi,
    We've successfully installed Directory Server 5.2, Indentity Server 6.1, Application Server 7.0 update 1, Web Server 6.1 and Calendar Server 6.0 on a Solaris 8 system.
    This system is intended for test purposes, hence all the applications are on one system. The production system will be installed on seperate systems as per Sun's recommendations.
    Apropos Messenging Server (v6.0)
    When I log into the the Web interface I get:
    "Quota root does not exist"
    If I try to send a message to a local user from the Web interface I get:
    "SMTP Error: 4.0.0 temporary error returned by alias expansion: [email protected]"
    I get a similar error if I try to mail a local user from outside:
    220 trabant.acc.graddelt.com -- Server ESMTP (Sun ONE Messaging Server 6.0 (built Oct 29 2003))
    HELO zen.sys.uea.ac.uk
    250 trabant.acc.graddelt.com OK, [192.168.104.92].
    MAIL From: <[email protected]>
    250 2.5.0 Address Ok.
    RCPT To: <[email protected]>
    452 4.0.0 temporary error returned by alias expansion: [email protected]
    When we installed Messenger Server, we selected Schema v2 from comm_dsetup.pl. We would like to use Messsenger Server with Identity Server.
    Any suggestions as to how to overcome this issue would be most welcome.
    Thanks
    Shaun McCullagh
    marviQ
    Amsterdam

    I am getting this error when I sent a mail from Sun Jav messenger express.
    SMTP Error:4.0.0 temprorary error returned by alias expension:
    how ever , i am able to receive the mails .
    I have created one user [email protected] and configured it's account at MS outlook , this user is able to sent the mails to default account [email protected] ,Also [email protected] is obtaining the mails ,On replying to same mail i am getting SMTP error as given above.
    what goes wrong ...? any idea...?
    FYI...
    root@ultra5c # /opt/SUNWmsgsr/sbin/./start-msg
    Connecting to watcher ...
    Launching watcher ...
    Starting ens server ... 1461
    Starting store server ...... 1462
    checking store server status ........ ready
    imap is running already
    pop is running already
    Starting http server ............................ 1463
    Starting sched server ... 1473
    Starting dispatcher server .............. 1475
    Starting job_controller server ................ 1479
    root@ultra5c # ping 192.168.0.64 110
    192.168.0.64 is alive
    root@ultra5c # ping 192.168.0.64 25
    192.168.0.64 is alive
    Rgds
    chandan

  • Migrating to a new Messenger server

    Our current physical mail server, running both GW and Messenger, is a bit long in the tooth. We've migrated away from GW into a unified Exchange-based system, but the GW server is still active for some archival mailboxes that were not migrated for whatever reason.
    Anyhow, I've spun up a new SLES 11.3 VM with the intention of migrating our Messenger services over to it. Originally, my intention was to run the two servers concurrently during a testing phase, but if I am reading the docs correctly, it seems that's not possible. What are my other options? Do I install it to a different tree and move it later?
    I was also looking for clarification on LDAP vs eDirectory authentication. Would I be losing anything by choosing LDAP?
    Thanks.

    Thanks for the reply!
    Regarding the LDAP/eDir issue, I'm not looking for AD at all, I just didn't know if it mattered if I hit the tree via true eDir or LDAP, if I'd be missing fields or something.
    Also, I'm not concerned about users logging into different servers concurrently, I can't imagine the use case for that, except maybe for failover? Anyhow, I just want to make sure I'm allowed to have more than one Messenger server in the tree, because in the docs, it didn't seem like that was possible. It seemed like if I activated a second server, it would take some of the roles away from the first. It didn't say so specifically, it's just how it looked.
    And yeah, our current messenger server has a DNS alias of 'messenger,' I wanted to set up a second as 'messenger2' so that I could set it up for testing and then change the alias when ready to move to production.
    Thanks.
    Originally Posted by laurabuckley
    Hi
    As far as I'm aware you can not have users authenticated to two different messenger servers concurrently. You will have to pick either your old server or your new server.
    I'd keep your new server in the same tree so that credentials remain the same. We have our Messenger client connect to a DNS name so every time we move it to a new server all we do is update the DNS record.
    Ldap/edir all the same with Messenger. It currently can only authenticate via eDirectory. It's on the road map to have AD authentication, I think, but it's some way off.
    Shout if I can be of further assistance.
    Cheers,

  • Trouble connecting to MSN Messenger server, despite internet working

    Sorry, this probably isn't in the correct section but I've been trying to connect to MSN Messenger for the last day or two. Normally I would just leave it and let it fix itself. However this hasn't resolved the problem. I normally use mercury messenger, but have since tried to connect using alternatives such as the official MSN software, amongst others.
    I've reset the computer, deleted & reinstalled all the software, disconnected from the internet and set up a new user account, but the problem still seems to be happening. Using mercury messenger I get the error message "unable to connect to MSN server", while MSN messenger simply says I may not be connected to the internet.
    Could someone please advise what else I could try, as I use MSN as a cheap way to communicate with friends!
    Thanks,

    Hi there!
    I'm assuming everything on the net is working normally except for MSN? Does sound strange...where exactly is Warwickshire? Is there a possibility there are some MSN network problems in your area? I wouldn't expect so many different apps to be giving you a problem...
    As for alternatives Adium is really a nice choice on Mac because you can connect wth any IM protocol. The disadvantage is you can't do video. Anyways with the real MSN Messenger you can't video either...that's why Mercury and also aMSN are popular alternatives...
    Let us know,
    Reg

  • E71 + Windows Live Messenger server settings

    Hi all,
    Any idea what the server settings are for Messenger/IM?
    ie.
    Under IM -> Settings -> Servers:
    There is a field that asks for "web address". What should the input for this be?
    Thanks in advance!

    The Symbian S60 version of Windows Live Messenger from "Download!" rather cheeky charges you £1.50 (GBP) per month or the equivalent in your local currency, after a trial and as I recall is billed via premium rated SMS messages.
    Its not free, and changing your handset may not help to bag some extra fee months. The service appears to be locked to your telephone number.
    I personally would like it to be free, the fact that you mainly have to use data to talk to your IM contacts, means you have to pay twice.
    Note to those who decided to charge: I'll refrain from using it until you make the S60 version always free.
    Shunts...
    I will mostly be communicating with a Nokia E72 Zodium Black
    Nokia E72-1 with Vr 051.018.207.04 Software
    If this post helped... Add some kudos!!

  • How can we change the default domain in iPlanet messenger server 5.1 through delegated administrator?

     

    The default domain for a iMS server is an option in configutil. Delegated administrator manages the data in LDAP. Delegated admin can edit the domain properties, but can't change what the default domain is for a given server.

  • Messenger server

    this is the server thread code, called up by the server program.. its not recieving the text from the client, is this right, should it display text from a client?
    import java.io.*;
    import java.net.*;
    public class ServerThread extends Thread
      // The Server that spawned us
      private Server server;
      // The Socket connected to our client
      private Socket socket;
      // Constructor.
      public ServerThread( Server server, Socket socket ) {
        // Save the parameters
        this.server = server;
        this.socket = socket;
        // Start up the thread
        start();
      // This runs in a separate thread when start() is called in the
      // constructor.
      public void run() {
        try {
          // Create a DataInputStream for communication; the client
          // is using a DataOutputStream to write to us
          DataInputStream din = new DataInputStream( socket.getInputStream() );
          // Over and over, forever ...
          while (true) {
            // ... read the next message ...
            String message = din.readUTF();
            // ... tell the world ...
            System.out.println( "Sending "+message );
            // ... and have the server send it to all clients
            server.sendToAll( message );
        } catch( EOFException ie ) {
          // This doesn't need an error message
        } catch( IOException ie ) {
          // This does; tell the world!
          ie.printStackTrace();
        } finally {
          // The connection is closed for one reason or another,
          // so have the server dealing with it
          server.removeConnection( socket );
    }

    heres the whole server prog, i cant work out how to implement the Runnable, and work the thread
    import java.io.*;
    import java.net.*;
    import java.util.*;
    public class Server implements Runnable
      // The ServerSocket we'll use for accepting new connections
      private ServerSocket ss;
      // A mapping from sockets to DataOutputStreams.  This will
      // help us avoid having to create a DataOutputStream each time
      // we want to write to a stream.
      private Hashtable outputStreams = new Hashtable();
      Thread ServerThread = new Thread(this);
      // The Server that spawned us
      private Server server;
      // The Socket connected to our client
      private Socket socket;
      // Constructor and while-accept loop all in one.
      public Server( int port ) throws IOException {
        // All we have to do is listen
        listen( port );
      private void listen( int port ) throws IOException {
        // Create the ServerSocket
        ss = new ServerSocket( port );
        // Tell the world we're ready to go
        System.out.println( "Listening on "+ss );
        // Keep accepting connections forever
        while (true) {
          // Grab the next incoming connection
          Socket s = ss.accept();
          // Tell the world we've got it
          System.out.println( "Connection from "+s );
          // Create a DataOutputStream for writing data to the
          // other side
          DataOutputStream dout = new DataOutputStream( s.getOutputStream() );
          // Save this stream so we don't need to make it again
          outputStreams.put( s, dout );
          // Create a new thread for this connection, and then forget
          // about it
          new ServerThread( this, s );
      // Get an enumeration of all the OutputStreams, one for each client
      // connected to us
      Enumeration getOutputStreams() {
        return outputStreams.elements();
      // Send a message to all clients (utility routine)
      void sendToAll( String message ) {
        // We synchronize on this because another thread might be
        // calling removeConnection() and this would screw us up
        // as we tried to walk through the list
        synchronized( outputStreams ) {
          // For each client ...
          for (Enumeration e = getOutputStreams(); e.hasMoreElements(); ) {
            // ... get the output stream ...
            DataOutputStream dout = (DataOutputStream)e.nextElement();
            // ... and send the message
            try {
              dout.writeUTF( message );
            } catch( IOException ie ) { System.out.println( ie ); }
      // Remove a socket, and it's corresponding output stream, from our
      // list.  This is usually called by a connection thread that has
      // discovered that the connectin to the client is dead.
      void removeConnection( Socket s ) {
        // Synchronize so we don't mess up sendToAll() while it walks
        // down the list of all output streamsa
        synchronized( outputStreams ) {
          // Tell the world
          System.out.println( "Removing connection to "+s );
          // Remove it from our hashtable/list
          outputStreams.remove( s );
          // Make sure it's closed
          try {
            s.close();
          } catch( IOException ie ) {
            System.out.println( "Error closing "+s );
            ie.printStackTrace();
      public ServerThread( Server server, Socket socket ) {
        // Save the parameters
        this.server = server;
        this.socket = socket;
        // Start up the thread
        start();
      // This runs in a separate thread when start() is called in the
      // constructor.
        public void run() {
        try {
          // Create a DataInputStream for communication; the client
          // is using a DataOutputStream to write to us
          DataInputStream din = new DataInputStream( socket.getInputStream() );
          // Over and over, forever ...
          while (true) {
            // ... read the next message ...
            String message = din.readUTF();
            // ... tell the world ...
            System.out.println( "Sending "+message );
            // ... and have the server send it to all clients
            server.sendToAll( message );
        } catch( EOFException ie ) {
          // This doesn't need an error message
        } catch( IOException ie ) {
          // This does; tell the world!
          ie.printStackTrace();
        } finally {
          // The connection is closed for one reason or another,
          // so have the server dealing with it
          server.removeConnection( socket );
      // Main routine
      // Usage: java Server <port>
      static public void main( String args[] ) throws Exception {
        // Get the port # from the command line
        //int port = Integer.parseInt( args[4444] );
        int port = 4444;
        // Create a Server object, which will automatically begin
        // accepting connections.
        new Server( port );
    }and i havent changed the readUTF yet

  • Server stress testing tool

    Hi all,
    I have been developing an application to do a stress test on our Instant Messenger server. This application must check if server can handle 1000, 10,000 or 100,000 connections concurrently.
    - Server is developed by using socket, it will create a new thread everytime it receives a incoming connection.
    - On the client-side, my application will establish connections to server, each connection is a thread as well.
    The application just need to work with LOGIN and SEND MESSAGE functions
    Here is my testing:
    * With single PC: it runs well with 10, 100 connections, but when I increase number of connections to 1000, 3000... it just takes to long to run all the connections, sometimes it also get connection timeout.
    * With 4 PCs:
    If I have 1000 connections, each PC will handle 250 connections, and these 4 servers run at the same time.
    The problems still occurs when number of connections is increased, sometimes it still get connection timeout.
    Am I doing the right things here? Do you have any suggestions for this scenario? Plz help
    Regards,

    I've done stress testing with a laptop for up to 3000 connections. After that I got various resource exhaustion problems. You need to start new threads at the client as well as the server for each connection, or use NIO as I did.
    To test up to 100,000 you will definitely need a number of client machines.

  • Strest testing server

    Hi all,
    My current probject is developing a web-based testing tool that will do strest testing on our Instant Messenger server to make sure that it works properly with thousands of users, it means that the server will not crash when there are a lot of users connect to it.
    My testing scenario is for:
    - 1000 connected users
    - 10 000 connected users
    - 100 000 connected users
    The server is using socket and thread to manage connections
    May you give some suggestions on that?
    Thanks a lot!

    You won't be able to go above 64k connections from any one host machine. Other than that it's fairly simple. Best approach is to use NIO in the load-testing clients, then you won't need N threads.

  • Little bit of thread and little bit of instant messenger design problem

    OK! i have a small problem here, i am planning on making a instant messenger server and client, not compatible with any out there(as of yet) and not using any stansard protocols out there, just something i made on my own. ok now the problem i am trying to figure out is....i have a "Messaging Server" as the name suggests it sends messages from one client to the other, how it is setup is, client connects to this server, the server accepts and creates a new thread for this client and adds a message listener to this client handler thread. as and when the server creates this thread for the client, it puts it in a vector which is keeping track of every client connected to this server. so now when the client sends a message to another client, basically it goes through this server, the thread upon receiving this message, fires a method of the listener. this method takes the message, finds out who it is going to(therefore the userid) and seaches the threads vector to find the appropriate thread and then just creats another striped down message out of the received message and calls a method in that thread to send this newly created message and hence the message should be sent.(i am speculating, i still have not created this)
    so the problem ia m logically facing is...at what point of time who is taking the load, what i mean by that is, when the thread receives the message, ofcourse it is this thread which is working is taking the load, but when the listener fucntion is fired which thread is handlign the call is it the client handler thread which fired the method or the messaging server thread which creates these threads?? now once that is solved, who(which thread) is doing the work when i call the fucntion in the other thread which i found aftre searching the vector. i mean i am thinking like this cuz i am not much in sink with the way threads work. i am also trying to figure out this to find out the load the server or the threads will be having.
    algo example:
    class messageServer
         vector currentWorkingThreads;
         messageListener listener;
         main()
              listener = new messageListener(); //should it be here or the other place i am mentioning below
              while(true)
                   clientHandler = socket.accept();
                   listener = new messageListener(); //should it be here or the other place i am mentioning above
                   //create a thread and add this thread object to the vector
                   thread.addLisenter(listener);
    class messageServerThread
         string userid;
         messageListener lis;
         run()
              object obj = in.readObject();
              lis.sendMessage(obj);
         sendMessage(obj)
              out.writeObject(obj);
              out.flush;
    class messageListener
         sendMessage(msSendMessage msg)
              //find the appropriate user thread
              loop(currentWorkingThread.next())
                   messageServerThread msgThread = (messageServerThread)currentWorkingThread.element();
                   if(msg.userid == msgThread.userid)
                        msReceiveMessage rcvMsg = msg.strip(); //dosent matter what this does, it just strips the unwanted info and returns the type msReceiveMessage
                        msgThread.sendMessage(rcvMsg);
    and if this is something out of the line, or not a good way of doing it, can someone help me with the design it would be gr8.
    thanx a lot
    -Ankur
    help would be greatly appreciated.
    [email protected]

    other, how it is setup is, client connects to this
    server, the server accepts and creates a new thread
    for this client and adds a message listener to this
    client handler thread. as and when the server creates
    this thread for the client, it puts it in a vector
    which is keeping track of every client connected to
    this server.ok so far.
    so now when the client sends a message to
    another client, basically it goes through this server,
    the thread upon receiving this message, fires a method
    of the listener. this method takes the message, finds
    out who it is going to(therefore the userid) and
    seaches the threads vector to find the appropriate
    thread and then just creats another striped down
    message out of the received message and calls a method
    in that thread to send this newly created message andhere you seem to confuse the thread instance and the thread of execution. the thread invoking this method is still the event handling thread (i.e. the receiver thread of the socket). you do not need threads for delivering - this can be done by the receiving sockets' event handling threads. disadvantage: if processing of the message takes significant time then the socket is blocked and cannot process another message.
    solution: put the message in an event queue which is processed by one or more threads. (see my example i e-mailed you)
    robert
    hence the message should be sent.(i am speculating, i
    still have not created this)
    so the problem ia m logically facing is...at what
    point of time who is taking the load, what i mean by
    that is, when the thread receives the message,
    ofcourse it is this thread which is working is taking
    the load, but when the listener fucntion is fired
    which thread is handlign the call is it the client
    handler thread which fired the method or the messaging
    server thread which creates these threads?? now once
    that is solved, who(which thread) is doing the work
    when i call the fucntion in the other thread which i
    found aftre searching the vector. i mean i am thinking
    like this cuz i am not much in sink with the way
    threads work. i am also trying to figure out this to
    find out the load the server or the threads will be
    having.
    algo example:
    class messageServer
    vector currentWorkingThreads;
    messageListener listener;
    main()
    listener = new messageListener(); //should it be
    e here or the other place i am mentioning below
    while(true)
    clientHandler = socket.accept();
    listener = new messageListener(); //should it be
    be here or the other place i am mentioning above
    //create a thread and add this thread object to the
    he vector
    thread.addLisenter(listener);
    class messageServerThread
    string userid;
    messageListener lis;
    run()
    object obj = in.readObject();
    lis.sendMessage(obj);
    sendMessage(obj)
    out.writeObject(obj);
    out.flush;
    class messageListener
    sendMessage(msSendMessage msg)
    //find the appropriate user thread
    loop(currentWorkingThread.next())
    messageServerThread msgThread =
    =
    (messageServerThread)currentWorkingThread.element();
    if(msg.userid == msgThread.userid)
    msReceiveMessage rcvMsg = msg.strip(); //dosent
    ent matter what this does, it just strips the unwanted
    info and returns the type msReceiveMessage
    msgThread.sendMessage(rcvMsg);
    and if this is something out of the line, or not a
    good way of doing it, can someone help me with the
    design it would be gr8.
    thanx a lot
    -Ankur
    help would be greatly appreciated.
    [email protected]

  • Windows live messenger disconnection on nokia 6022...

    Hi up until recently I could log into windows live messenger on my mobile, now when I log in I get a error 201 and a message say that "you were disconnected from windows live messenger - server initiated disconnect" then asks  if I want to connect again. I have searched the net for a answer to how I can get back on messenger but no answer anywhere. Can anyone help me?

    hi,
    i believe we are talking about 6220 Classic right?
    have you checked "Download"? have you tried to update "Download" as well, if it is not showing there?
    the other things is if your 6220 is network locked, you might have some restrictions on the apps availability and usage, try to ask your service provider...
    if certificate error is shown, try to check the "Application Manager" and see Settings and make sure "Software installation is set to ALL, and Online certificate is also "OFF"
    Message Edited by friedbrains on 02-Oct-2008 07:02 PM

  • Integrating Messaging Server and Identity Server

    I've got JES 2004Q2, and I'm trying to install the various components on different workstations to prove that a) the software works, and b) it's a viable alternative to Exchange (so please please help me get it working!)
    The problem I have is getting Messenger Server and Directory Server talking properly so that I can create users and then log in as those users. After days of frustrating searching for solutions to this problem (and also find people who have successfully done this), I decided to install the components onto one server.
    And it worked. Installing Messaging Server, Identity Server, Web Server (contained for Identity Server), Directory Server, and Admin Server all on the same box, configuring them all to use the same directory server for UG and preferences, running the various configuration tools that come with the software, and it all works together fine. Using "./commadmin domain modify .... -S mail", I get "OK". I can add users with the "-S mail" option, log in as those users, and send emails between those users. So this tells me that the software does work, albeit on one box.
    When I try to separate the services out to separate boxes, they don't seem to integrate properly. I thought that maybe the order in which you configured applications made a difference (ie. configuring Identity Server after Messenger Server means IS will pick up on the changes made to the directory by MS, and enable it). I also tried to see if using the same options directory server from different boxes helped, but nothing. I've even tried patching them using 116568-52 and 116585-10 but no luck.
    Therefore, I've found that installing all servers on one box works, but installing them on separate boxes doesn't (despite using the same directory servers). My conclusion in this is that one of two things must be the case:
    a) there's something in the install that has to be changed to reflect the fact that the services are running on different boxes
    b) the install of the services adds files to the system somewhere which other packages in JES pick up on (hence the reason why installing everything on one box works), and this isn't documented anywhere
    Unfortunately, the output of commadmin when it fails isn't that helpful (nothing against the developers, however it doesn't really help in the fault finding process). I do believe however that the problem is with Identity Server and its configuration, rather than Messaging Server.
    Here's some (possibly) useful info:
    kipling# ./imsimta version
    Sun Java(tm) System Messaging Server 6.1 HotFix 0.01 (built Jun 24 2004)
    libimta.so 6.1 HotFix 0.01 (built 12:52:04, Jun 24 2004)
    SunOS kipling 5.8 Generic_117350-02 sun4u sparc SUNW,Sun-Blade-1500
    kipling#
    (on UG server)
    # ./commadmin domain modify -D admin -w <password> -d uwe.ac.uk -n uwe.ac.uk -S mail -H kipling.uwe.ac.uk
    FAIL
    Unable to set attribute(s)
    (some verbose mode output)
    [Debug]: Contacting : http://bronte.uwe.ac.uk:10080/commcli/TaskManager
    [Debug]: To servlet: task=ModifyDomain&objecttype=Domain&domain=uwe.ac.uk&add_services=mail&add_preferredmailhost=kipling.uwe.ac.uk
    [Debug]: RECV: FAIL
    [Debug]: RECV: Unable to set attribute(s)
    [Debug]: CLITask: status returned =FAIL
    FAIL
    Unable to set attribute(s)
    [Debug]: DBG: doOne returned code=6
    [Debug]: Contacting : http://bronte.uwe.ac.uk:10080/commcli/logout
    [Debug]: Logout ...
    [Debug]: RECV: SSOToken id AQIC5wM2LY4SfcyW5hbVBGXqCdsYYDjVarSFRMd6HIxsGho=@AAJTSQACMDE=#
    [Debug]: RECV: destroyed
    Root suffix: dc=uwe,dc=ac,dc=uk (all "o=" references have been dropped)
    All services have their own local options directory server.
    Can anyone give me any suggestions? If I log a support call with Sun, what is the likely resolution time? My ultimate goal is to get the whole suite running together, then install Portal server. Once that's working, download the connectors for Outlook and get it all working with Outlook. As I said at the start, we're hoping to show this is a viable alternative to Exchange (certainly for the backend) so any help will be greatly appreciated!
    Iain

    slo_chewie wrote:
    Does the email recipient address change when the email is sent to gmail i.e. does an email sent to [email protected] become [email protected]?
    We've got google for domains setup, so users would retain a @domain.com address regardless if there mailbox was hosted on the internal server or hosted at google.You can make use of the mailRoutingAddress: user attribute and source routing to get the desired behaviour e.g.
    => Set the following value to the LDAP entry of the user who is hosted on the gmail server. The "[email protected]" address should match the users mail: address:
    mailRoutingAddress: @gmail.com:[email protected]=> Ensure the following option has been tcp_local channel in your imta.cnf file. This option strips off the "@gmail.com" value of the recipient address before sending the email to the gmail.com servers.
    dequeue_removerouteMake sure you run "./imsimta cnbuild;./imsimta restart" after modifying the imta.cnf file.
    Regards,
    Shane.

  • How to start Jive Jabber server as a daemon?

    Hi,
    Im running a Jive Messenger server, and i cant get it to start as a service with the provided script.
    Here is some background:
    Its a java based server, i decompressed it to /opt.
    To start the server i run /opt/jive/bin/messenger start
    There is a script in /opt/jive/bin/extra called: jive-messegerd
    Here are the instructions included in the script:
    # jive-messengerd
    # chkconfig: 2345 20 80
    # description: Used to start and stop the jive messenger XMPP server
    # Script used to start jive messenger as daemon
    # The script has currently been tested on Redhat Fedora Core 3,
    # but should theoretically work on most UNIX like systems
    # before running this script make sure $MESSENGER_HOME/bin/messenger is
    # executable by the user you want to run messenger as
    # (chmod +x $MESSENGER_HOME/bin/messenger)
    # This script should be copied into /etc/init.d and linked into
    # your default runlevel directory.
    # You can find your default runlevel directory by typing:
    # grep default /etc/inittab
    # Link to the directory like follows
    # cd /etc/rc<num>.d
    # ln -s ../init.d/jive-messengerd $90jive-messengerd
    # Set this to tell this script where messenger lives
    # If this is not set the script will look for /opt/jive_messenger, then /usr/local/jive_messenger
    #export MESSENGER_HOME=
    # If there is a different user you would like to run this script as,
    # change the following line
    As you  can see, there are a few differences between FC and Arch run levels directories.
    As in Arch we dont have runlevel directories, i did the following:
    I copied the file to /etc/rc.d/ and added it to rc.conf after all the other daemons... Its not working.
    Any ideas on how to do it?
    Any help would be really appreciated!
    Thanks!
    Edit: Updated done steps

    sud_crow wrote:I used /opt because i throw everything there, Arch uses it for some pkgs, so i didnt see a problem with that... and i like to keep most of the things in the same place. Is there a problem with that? i mean, can have some bad consecuencies?
    No bad consequences - it's just not the Arch way. Arch uses /opt for large suites of software, like gnome, kde, mozilla, etc. Anything smaller goes in /usr. It's your choice, though, at the end of the day.
    sud_crow wrote:I was hoping someone could tell me how to adapt the runlevels thing, so i could use the provided script...
    Alright, alright...
    You're right to put it in /etc/rc.d, you just need some changes to the script itself. The script exports two variables at the start - MESSENGER_HOME and MESSENGER_USER (MESSENGER_HOME is commented by default). If you leave them as they are, the script will look for /opt/jive_messenger first, then/usr/local/jive_messenger, and then will try to run the program as user 'jive'. If I'm not mistaken, you've put it in /opt/jive, as per your first post, and I'm going to take a guess that you have not created user 'jive'.
    So - change
    #export MESSENGER_HOME=
    to
    export MESSENGER_HOME=/opt/jive
    and change
    export MESSENGER_USER=jive
    to
    export MESSENGER_USER=<your_user_name>
    or else create the 'jive' user.
    Let us know how it goes.

  • Running 2 Versions of Novell Messenger Side by Side

    We are attempting to run Messenger 2.2 (Production) and Messenger 3.0 (Development) Side by side, so that we can test the new version, without removing the test group's ability to talk to the users on our current production messenger server. I thought that creating a virtual app for 3.0 would be a good solution, as we have used virtualization to run applications side by side in the past.
    This does not appear to work however. I have tried doing this with one version installed, and one virtualized, and with both virtualized, but the result is the same: Whatever version is run first becomes the functioning version. Attempting to run the second version just brings the other version up. It would seem that they are sharing some protocol..
    Is there a solution for this? Has anyone had two versions of messenger running together?
    Thanks

    You can run the two clients, connecting to two different servers, both on 8300.
    Thanks for the windows class isolation tip...forgot about this, and that's exactly what I needed.
    Originally Posted by dholmesscsd
    I'm guessing you couldn't have both running simultaneously unless you could configure the beta Messenger server to communicate on a different port but that's just a guess on mu part. Make sure the "Enable window class isolation" option is checked under "Settings
    |Process Configuration" in ZAV when you build the app.

  • Messenger on Android 2.0

    Are there any plans on providing Messenger or Messenger plug-ins (like pidgin in Linux) for the upcoming Android 2.0 line of phones? I've enjoyed using GWIM on my Blackberry, but I'm looking at moving to the Droid this weekend.

    Originally Posted by kennonk
    On Tue, 03 Nov 2009 04:56:01 +0000, swad wrote:
    > Are there any plans on providing Messenger or Messenger plug-ins (like
    > pidgin in Linux) for the upcoming Android 2.0 line of phones? I've
    > enjoyed using GWIM on my Blackberry, but I'm looking at moving to the
    > Droid this weekend.
    Do you guys expose your GWMessenging system to the Internet? The reason
    Blackberrys can talk to the GWIM servers is because your BES is on the
    inside of your firewall. Since Android wont be relaying it's data
    connection off of your internal BES you would have to put a GroupWise
    messenger server in your DMZ or NAT the GWMessenger ports out to the
    internet which could potentially expose your eDirectory credentials to
    attack. Just a thought.
    We aren't going to open up messenger to the Internet but I would like to access it using WIFI internal to the company.

Maybe you are looking for