import java.io.*;
import java.net.*;
import java.util.Vector;/**
 *
 * <p>Title: </p>
 * <p>Description: </p>
 * <p>Copyright: Copyright (c) 2002</p>
 * <p>Company: </p>
 * @author unascribed
 * @version 1.0
 */public class TestSocketServer
{
ServerSocket mServerSocket = null;
Socket       mSocket = null;
public   Vector mAllClientVector = new Vector(5,2);//存放所有客户端信息 public TestSocketServer()
{
 try
 {
 mServerSocket = new ServerSocket(9009,15);
 mSocket = mServerSocket.accept();
 ReceiveClientThread rCT = new ReceiveClientThread(this,mSocket);
 rCT.start();
 }
 catch(Exception eSocket)
 {
 }
} public static void main(String [] args)
{
new TestSocketServer();
}
}class ReceiveClientThread extends Thread
{
private TestSocketServer mTestSocketServer = null;
private Socket mSocket = null;
private boolean mRunning = true;
DataInputStream   dis = null;
DataOutputStream  dos = null;
Vector mVector = null;
public ReceiveClientThread(TestSocketServer pTestSocketServer,Socket pSocket)
{
this.mTestSocketServer = pTestSocketServer;
this.mSocket = pSocket;
} public void run()
{
while(true)
{
if(!mRunning)
{
//在内存中删除相应的客户端信息
break;
}
try
{
 dis = new DataInputStream(mSocket.getInputStream());
 ObjectInputStream ois = new ObjectInputStream(dis);
 mVector = (Vector)ois.readObject();
 for(int i = 0 ; i < mVector.size(); i ++)
 {
 System.out.println(mSocket.getInetAddress().getHostAddress()+"输出:" + (String)mVector.elementAt(i));
 }
 //保存客户端信息:存入文件或临时内存中
 this.mTestSocketServer.mAllClientVector.addElement(mVector);
 //把mAllClientVector中的所有信息返回给客户端
}
catch(Exception iDios)
{
}
}
}
}

解决方案 »

  1.   

    package pSocket;import java.io.*;
    import java.net.*;
    import java.util.Vector;/**
     *
     * <p>Title: </p>
     * <p>Description: </p>
     * <p>Copyright: Copyright (c) 2002</p>
     * <p>Company: </p>
     * @author unascribed
     * @version 1.0
     */public class TestSocketServer
    {
    ServerSocket mServerSocket = null;
    Socket       mSocket = null;
    public   Vector mAllClientVector = new Vector(5,2);//存放所有客户端信息 public TestSocketServer()
    {
     try
     {
     mServerSocket = new ServerSocket(9009,15);
     mSocket = mServerSocket.accept();
     ReceiveClientThread rCT = new ReceiveClientThread(this,mSocket);
     rCT.start();
     }
     catch(Exception eSocket)
     {
     }
    } public static void main(String [] args)
    {
    new TestSocketServer();
    }
    }class ReceiveClientThread extends Thread
    {
    private TestSocketServer mTestSocketServer = null;
    private Socket mSocket = null;
    private boolean mRunning = true;
    DataInputStream   dis = null;
    DataOutputStream  dos = null;
    Vector mVector = null;
    public ReceiveClientThread(TestSocketServer pTestSocketServer,Socket pSocket)
    {
    this.mTestSocketServer = pTestSocketServer;
    this.mSocket = pSocket;
    } public void run()
    {
    while(true)
    {
    if(!mRunning)
    {
    //在内存中删除相应的客户端信息
    break;
    }
    try
    {
     dis = new DataInputStream(mSocket.getInputStream());
     ObjectInputStream ois = new ObjectInputStream(dis);
     mVector = (Vector)ois.readObject();
     for(int i = 0 ; i < mVector.size(); i ++)
     {
     System.out.println(mSocket.getInetAddress().getHostAddress()+"输出:" + (String)mVector.elementAt(i));
     }
     //保存客户端信息:存入文件或临时内存中
     this.mTestSocketServer.mAllClientVector.addElement(mVector);
     //把mAllClientVector中的所有信息返回给客户端
    }
    catch(Exception iDios)
    {
    }
    }
    }
    }
      

  2.   

    to  GJA106(中文字符) and all my Friend 
    我希望了解的是如何执行socket的程序,
    你看,socket程序分为client 和 server两部分.我该如何执行呀?服务器改和配置呀.我好迷惑呀
      

  3.   

    先运行服务器端设置好端口
    然后把客户端的的socket改成与服务器一致
    然后直接运行客户端就可以通讯了
      

  4.   

    socket程序分为client 和 server两部分.我该如何执行呀?服务器该如和配置呀.我好迷惑呀
      

  5.   

    你开两个jbuilder然后分别运行
      

  6.   

    服务器端不要什么配置的,只要客户端设置与服务器一致就行例如:add和port分别代表服务器的IP地址和端口号,那么客户端
      Socket  socket=new  Socket(add,port);
    就ok了
    至于运行,你可以建两个工程,一个做服务器,一个做客户端,要先运行服务器;或者在两台机器上作,一个做服务器,一个做客户端
      

  7.   

    服务器端不用设置的,只要设置好客户端就行了,例如服务器的地址为add,端口号为port,那么客户端只要:
      Socket  socket=new  Socket(add,port);就ok了。
    运行它们可以建开两个应用,一个作客户端,一个作服务器端,先运行服务器端;或者在连台机器上分别运行就行了。
      

  8.   

    哈哈,我运行成功了。感谢大家的帮组。Thanks
      

  9.   

    qxjavajava(射手座) 你是怎么成功的,介绍一下:)