- 论坛徽章:
- 0
|
***************************server.java************************
import java.net.*;
import java.io.*;
import java.util.*;
import java.lang.*;
public class server{
public static void main(String args[]) {
int port = 8100;
int count=1;
ServerSocket server_socket;
try {
//listen and accept
server_socket = new ServerSocket(port);
System.out.println("Server running on port " + server_socket.getLocalPort());
//display init message
while(true) {
Socket socket = server_socket.accept();
System.out.println("New accepted "+ count);
count++;
//System.out.println("New connection accepted " +
//socket.getInetAddress() + ":" + socket.getPort());
//create new thread
try {
RequestHandler request = new RequestHandler(socket);
Thread thread = new Thread(request);
//start thread
thread.start();
}
catch(Exception e) {
System.out.println(e);
}
}
}
catch (IOException e) {
System.out.println(e);
}
}
}
class RequestHandler implements Runnable
{
Socket socket;
InputStream input;
OutputStream output;
DataOutputStream outbound;
BufferedReader br;
//constructor
public RequestHandler(Socket socket) throws Exception
{
this.socket = socket;
this.input = socket.getInputStream();
this.output = socket.getOutputStream();
outbound = new DataOutputStream(output);
this.br = new BufferedReader(new InputStreamReader(socket.getInputStream()));
}
// implement Runnable interface run()
public void run()
{
try {
processRequest();
}
catch(Exception e) {
System.out.println(e);
}
}
private void processRequest() throws Exception
{
//while(true) {
// read message from client
//System.out.println("ready to read data from client");
String str = br.readLine();
System.out.println("The client request is "+str);
// output
outbound.writeBytes("ok\n");
//}
// close socket
try {
br.close();
socket.close();
}
catch(Exception e) {}
}
}
************************client.java************************
import java.net.*;
import java.io.*;
import java.util.*;
import java.lang.*;
public class client{
public static void main(String args[])
{
int number=0;
if(args.length != 1)
{
System.out.println("usage: client number");
System.exit(0);
}
else
{
number = Integer.parseInt(args[0]);
}
for(int i=0;i<number;i++)
{
try {
myconnect my = new myconnect();
Thread thread = new Thread(my);
thread.start();
}
catch(Exception e) {
System.out.println(e);
}
}//end for
}// end main
}
class myconnect implements Runnable
{
Socket socket;
BufferedReader in;
DataOutputStream out;
//constructor
public myconnect() throws Exception
{
socket = new Socket("192.168.20.47",8100);
in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
out = new DataOutputStream(socket.getOutputStream());
}
// implement Runnable interface run()
public void run()
{
try {
processRequest();
}
catch(Exception e) {
System.out.println(e);
}
}
private void processRequest() throws Exception
{
//while(true) {
// read message from client
out.writeBytes("hello\n");
String str = in.readLine();
System.out.println("recv form server = "+str);
// close socket
try {
in.close();
out.close();
socket.close();
}
catch(Exception e) {}
}
}
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/3063/showart_66773.html |
|