Java中Socket长连接多线程通讯,请大家帮忙写个简单的示例

Java中Socket长连接多线程通信,请大家帮忙写个简单的示例
谁可以帮我写一个简单的Socket长连接在客户端使用多线程向服务端发送接收数据的程序供我参考下呢?
要求是这样的:
1.在客户端建立一个长连接(把代码也写上,多谢了!)
2.客户端向服务端可以连续发送多条数据(不一定会立马收到服务端返回的信息)
3.客户端接收服务端返回的数据(由于客户端向服务端发送数据以后不一定会立即返回信息,所以要采用多线程来防止程序堵塞的问题)

如果嫌粘到这太麻烦可以法我邮箱:254595561@qq.com,小弟在这先多谢大家了!现在碰到这个问题了,真心蛋疼呀!Java中Socket长连接多线程通讯,请大家帮忙写个简单的示例
Java 多线程 socket 通信

------解决方案--------------------
看看NIO的网络通讯框架Netty,Mina等,写这个很容易,看一下午就会了。
------解决方案--------------------
俺忘记是在哪个地方考下来的代码了,盗版一下发给你了,呵呵。。
MultiJabberServer.java

public class MultiJabberServer
{

    /** 
     * 方法名:main 
     * 描述: 
     * 作者: 
     * 日期:2012-8-23 下午02:38:20 
     * @param @param args 
     * @return void 
     */
    public static void main(String[] args)
    {
        ServerSocket s = null;
        Socket socket = null;
        try
        {
            s = new ServerSocket(8080);
            //等待新请求、否则一直阻塞  
            while (true)
            {
                socket = s.accept();
                System.out.println("socket:" + socket);
                new ServeOneJabbr(socket);