`
BBjava
  • 浏览: 121198 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

Java Socket 编程

阅读更多
Server.java
package org.iteye.bbjava.socket.server;

import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;

import org.iteye.bbjava.socket.socketthread.SocketThread;

public class Server {
	private ServerSocket ss;

	public Server() throws IOException {
		ss = new ServerSocket(3000);
	}

	public void sendInfo() {

	}

	public void receiveInfo() throws IOException {
		Socket s =null;
		while(true){
		s = ss.accept();
		System.out.println("ok");
		new SocketThread(s).start();
		}
		
	}
	
	public static void main(String []args){
		try {
			new Server().receiveInfo();
		} catch (IOException e) {
			e.printStackTrace();
		}
	}
}


SocketThread.java
package org.iteye.bbjava.socket.socketthread;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.Socket;

public class SocketThread extends Thread {

	private Socket s = null;

	public SocketThread(Socket s) {
		this.s = s;

	}

	@Override
	public void run() {
		InputStream is = null;
		try {
			is = s.getInputStream();
		} catch (IOException e) {
			e.printStackTrace();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(is));
		String str = "";
		while (true) {
			try {
				str = br.readLine();
				System.out.println(str);
			} catch (IOException e) {
				e.printStackTrace();
				break;
			} 
			if (str.equals("exit")) {
				break;
			}
		}
		try {
			s.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
	}
	

}


Client.java
package org.iteye.bbjava.socket.client;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {
	private Socket s = null;

	public Client() throws Exception {
		s = new Socket("localhost", 3000);
	}

	public void send() throws IOException {
		InputStream is = null;
		OutputStream os = null;

		try {
			os = s.getOutputStream();
		} catch (IOException e) {
			e.printStackTrace();
		}
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter out=new PrintWriter(new OutputStreamWriter(s.getOutputStream()));    


		String infoStr = "";
		while (true) {
			try {
				infoStr = br.readLine();
				out.println(infoStr);
				//System.out.println(infoStr);
				out.flush();
			} catch (IOException e) {
				e.printStackTrace();
			}
			if (infoStr.equals("exit"))
				break;
		}
		s.close();
	}

	public static void main(String[] args) {
		try {
			new Client().send();
		} catch (Exception e) {
			e.printStackTrace();
		}
	}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics