现在的位置: 首页 > 综合 > 正文

java socket通信代码3

2013年06月10日 ⁄ 综合 ⁄ 共 1084字 ⁄ 字号 评论关闭
package implement;//包定义
import java.io.*;
import java.net.*;

public class ServerThread extends Thread{//继承Thread类,实现多线程

	Socket socket=null;
	//保存与本线程相关的Socket对象;
	int clientnum;
	//保存本进程的客户计数
	/*构造方法 */
	public ServerThread(Socket socket,int num){
		this.socket =socket;
		clientnum=num+1;
		
		}
	public void run(){//线程主体
	
		try{
			String line;
			BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			//由Socket对象得到输入流,并构造相应的BufferedReader对象,用于从client接受信息
			PrintWriter os=new PrintWriter(socket.getOutputStream());
			//由Socket对象得到输出流,并构造相应的BufferedReader对象;用于向client发送信息
			BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
			//由系统标准输入设备构造BufferedReader 对象
			System.out.println("Client:"+clientnum+" "+is.readLine());
			line=sin.readLine();
			//从键盘读入一字符串
			while(!line.equals("bye")){
				os.println(line);
				//向客户端输出改字符串
				os.flush();
				//刷新输出流,使client马上接收到该字符
				System.out.println("Server:"+line);
				//在Server上显示输入字符串
				System.out.println("Client:"+clientnum+is.readLine());
				//从client读入一个字符串,并打印到标准输出上
				line=sin.readLine();
			}
			os.close();
			is.close();
			socket.close();
			//serverSocket.close();
		}catch(Exception e){
			System.out.println("Error:"+e);//输出异常
		}
	}
	
}

抱歉!评论已关闭.