楼主可以去看看下面这些http://topic.csdn.net/u/20070426/12/9a7511cf-cf34-474f-96ee-8666ef110841.html
http://www.ydshs.com/kyxx/2006-4/11.htm

解决方案 »

  1.   

    服务器按照什么的方式给识别,然后给它响应?服务器端的Socket接口程序的Java实现方法,其过程如下所述:  1、 首先调用ServerSocket类以某个端口号为参数,创建一个ServerSocket对象,即是服务器端的服务程序在该指定端口监听的Socket。  2、 服务器端程序使用ServerSocket对象的accept()方法,接收来自客户机程序的连接请求,此时服务器端将一直保持停滞状态,直到收到客户端发来的连接请求,此时该方法将返回一个新建的Socket类的实例,代表和客户机建立的通讯链路在服务程序内的通讯端点。如果采用Java的多线程编程方法,可以实现并发服务器,继续监听来自其他客户的连接请求。  3、 使用新建的Socket对象创建输入、输出流对象。  4、 使用流对象的方法完成和客户端的数据传输,按约定协议识别并处理来自客户端的请求数据,并把处理的结果返回给客户端。  5、 客户端工作完毕后,则服务器端程序关闭和客户端通讯的流和通讯的Socket。  6、 在服务器程序运行结束之间,应当关闭用来监听的Socket.
      

  2.   

    还有一个问题,客户发送请求,比如说一个登陆,需用提供用户名和密码,客户端通过socket发送的时候,是发送封装了用户名和密码的对象给服务器端,还是以其它什么方式发送?使用流机制来发送的客户段程序编写的流程:  1、 首先调用Socket类的构造函数,以服务器的指定的IP地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含了向服务器请求建立通讯连接的过程实现。
        2.建立了客户端通讯Socket后。就可以使用Socket的方法getInputStream()和getOutputStream()来创建输入/输出流。这样,使用Socket类后,网络输入输出也转化为使用流对象的过程。  3、 使用输入输出流对象的相应方法读写字节流数据,因为流连接着通讯所用的Socket,Socket又是和服务器端建立连接的一个端点,因此数据将通过连接从服务器得到或发向服务器。这时我们就可以对字节流数据按客户端和服务器之间的协议进行处理,完成双方的通讯任务。  4、 待通讯任务完毕后,我们用流对象的close()方法来关闭用于网络通讯的输入输出流,在用Socket对象的close()方法来关闭Socket。
      

  3.   

    太底层了,划不来,不如直接用RMI OR EJB OR JMS...
      

  4.   

    socket自定义协议比较通用,还可以和其他平台(c,c++等)互通
      

  5.   

    自己包装一个request 类和一个response类 。包含命令指令和参数!可以试试 曾经做个一个类似!