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)
{
}
}
}
}
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)
{
}
}
}
}
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)
{
}
}
}
}
我希望了解的是如何执行socket的程序,
你看,socket程序分为client 和 server两部分.我该如何执行呀?服务器改和配置呀.我好迷惑呀
然后把客户端的的socket改成与服务器一致
然后直接运行客户端就可以通讯了
Socket socket=new Socket(add,port);
就ok了
至于运行,你可以建两个工程,一个做服务器,一个做客户端,要先运行服务器;或者在两台机器上作,一个做服务器,一个做客户端
Socket socket=new Socket(add,port);就ok了。
运行它们可以建开两个应用,一个作客户端,一个作服务器端,先运行服务器端;或者在连台机器上分别运行就行了。