多线程服务器

来源:互联网 发布:卓越物业软件 编辑:程序博客网 时间:2024/06/05 12:41



import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;public class mythread extends Thread{/* * 服务器多线程处理 */Socket sock=null;public mythread(Socket sock) {this.sock = sock;}//相应客户端请求public void run(){InputStream is = null;InputStreamReader isr = null;BufferedReader br = null;//服务端向客户端发数据OutputStream os = null;PrintWriter pw = null;try {is = sock.getInputStream();isr = new InputStreamReader(is);br = new BufferedReader(isr);String s = br.readLine();while(s!=null){System.out.println("客户端说"+s);s=br.readLine();}sock.shutdownInput();//可以不写os = sock.getOutputStream();pw = new PrintWriter(os);pw.write("我是赵瑾的服务端");os.flush();//关闭} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}//sock.shutdownOutput();finally{try {if(pw!=null)pw.close();if(os!=null)os.close();if(br!=null)br.close();if(isr!=null)isr.close();if(is!=null)is.close();//ss.close();if(sock!=null)sock.close();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}}

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import org.junit.Test;public class server {@Testpublic void demo1() throws IOException{//创建一个端口号为8888的服务端socketServerSocket ss = new ServerSocket(8887);//调用accept方法等待客户端连接System.out.println("服务器准备启动");int count=0;while(true){Socket sock = ss.accept();mythread mt=new mythread(sock);//创建线程mt.run();//count++;System.out.println(count);}}}

import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;import org.junit.Test;public class client {@Testpublic void demo1() throws UnknownHostException, IOException{//创建客户端socket,并指定端口号和地址Socket client = new Socket("localhost", 8887);//获得输出流向服务器发送数据OutputStream os = client.getOutputStream();//字节输出流PrintWriter pw=new PrintWriter(os);pw.write("我是赵瑾的客户端");pw.flush();//刷新缓存client.shutdownOutput();//可以不写//客户端接收服务端的数据InputStream is = client.getInputStream();InputStreamReader isr=new InputStreamReader(is);BufferedReader br=new BufferedReader(isr);String s = br.readLine();while(s!=null){System.out.println("服务端说"+s);s=br.readLine();}//关闭资源//client.shutdownInput();br.close();isr.close();is.close();pw.close();os.close();client.close();}}


原创粉丝点击