随便想的一段代码,没有测试过,请自己捕捉意外
ServerSocket server = new ServerSocket(80); //your port
server.setSoTimeout(0);
while(true){
Socket socket = server.accept();
new MyProcessor(socket).start();
}
class Myprocessor impelements Runnable
{
Socket socket;
Myprocessor(Socket){this.socket = socket;}
run(){你的服务代码,应该是线程安全的}
}
ServerSocket server = new ServerSocket(80); //your port
server.setSoTimeout(0);
while(true){
Socket socket = server.accept();
new MyProcessor(socket).start();
}
class Myprocessor impelements Runnable
{
Socket socket;
Myprocessor(Socket){this.socket = socket;}
run(){你的服务代码,应该是线程安全的}
}
以下代码经过测试通过,贴给你了
import java.io.*;
import java.net.*;
public class socketServer
{
public static void main(String args[])
{
AppServer svr;
svr=new AppServer();
}
}
/////////////////////////////////////
class AppServer
{
ServerSocket server;
Socket client;
Thread thrListener;
Thread thrDisplay;
//PrintStream streamToClient;
///////////////////////////
//function construct
///////////////////////////
public AppServer()
{
Listener objListener=new Listener();
Display objDisplay=new Display();
thrListener=new Thread(objListener);
thrDisplay=new Thread(objDisplay);
try
{
server=new ServerSocket(1001);
}
catch(Exception e)
{
System.out.println(e.toString());
}
thrListener.start();
thrDisplay.start();
}
//¼àÌýÏß³ÌÀà
class Listener implements Runnable
{
//////////////////////////////////
//function run()
//////////////////////////////////
public void run()
{
byte byteBuffer[]=new byte[250];
String str;
try
{
while(true)
{
client=server.accept();
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
//¶Á²¢ÏÔʾsocketÁ÷Ïß³ÌÀà
class Display implements Runnable
{
//////////////////////////////////
//function run()
//////////////////////////////////
public void run()
{
InputStream streamFromClient;
BufferedReader ioBufferedReader;
InputStreamReader ioInputStreamReader;
byte byteBuffer[]=new byte[250];
String strRead;
try
{
while(true)
{
if(client!=null)
{
streamFromClient=client.getInputStream();
ioInputStreamReader=new InputStreamReader(streamFromClient);
ioBufferedReader=new BufferedReader(ioInputStreamReader);
if(ioBufferedReader.ready())
{
strRead=ioBufferedReader.readLine();
System.out.println(strRead);
}
/*
streamFromClient=client.getInputStream();
streamFromClient.read(byteBuffer);
strRead=new String(byteBuffer);
System.out.println(strRead);
*/
}
}
}
catch(Exception e)
{
System.out.println(e.toString());
}
}
}
}