`
Supanccy2013
  • 浏览: 214034 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

java 实现简单及时通讯工具

    博客分类:
  • java
阅读更多
客户端接受:

package com.supan;

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class ClientReceive {
	public static void main(String[] args) throws Exception {
		Socket socket=new Socket("191.0.4.17",4704);
		BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
		String readline;
		if(socket!=null){
			new ClientSendThread(socket).start();
		}
		while(true){
			readline = is.readLine();
			System.out.println("Server:"+ readline);
		}
	}
}



客户端发送:
package com.supan;

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

/*
 * 该类主要用于服务端接受本地系统的输入数据,并且发松到客户端
 */
public class ClientSendThread extends Thread {
	private Socket socket;
	private String line;
	private BufferedReader is;
	private PrintWriter os;

	public ClientSendThread(Socket socket) {
		this.socket = socket;
	}

	public void run() {
		try {
			BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
			os = new PrintWriter(socket.getOutputStream());
			while (true) {
				line = sin.readLine();
				// 把系统输入的数据放入到socket的输出流中
				os.println(line);
				os.flush();
				// 读取socket的输入流并打印出来
			}
		} catch (Exception e) {
			System.out.println("系统输入数据,和客户端输入数据时出现异常");
		}
	}
}



服务端接受:
package com.supan;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
/*
 * 该类主要负责不停的读取客户端传过来的数据,并打印到控制台
 */
public class ServerRecevidThread extends Thread {
	private Socket socket;
	private String line;
	private BufferedReader is;
	private PrintWriter os;
	public ServerRecevidThread(Socket socket) {
		this.socket = socket;
	}
	public void run() {
		// 获取socket的输入流
		try {
			is = new BufferedReader(new InputStreamReader(
					socket.getInputStream()));
			while (true) {
				System.out.println("客户端传过来的数据是:" + is.readLine());
			}
		} catch (Exception e) {
			System.out.println("系统输入数据,和客户端输入数据时出现异常");
		}
	}
}


服务端发送:
package com.supan;

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

/*
 * 该类主要用于服务端接受本地系统的输入数据,并且发松到客户端
 */
public class ServerSendThread extends Thread {
	private Socket socket;
	private String line;
	private BufferedReader is;
	private PrintWriter os;

	public ServerSendThread(Socket socket) {
		this.socket = socket;
	}

	public void run() {
		try {
			BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
			os = new PrintWriter(socket.getOutputStream());
			while (true) {
				line = sin.readLine();
				// 把系统输入的数据放入到socket的输出流中
				os.println(line);
				os.flush();
				// 读取socket的输入流并打印出来
			}
		} catch (Exception e) {
			System.out.println("系统输入数据,和客户端输入数据时出现异常");
		}
	}
}


测试:
package com.supan;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
	public static void main(String[] args) throws Exception {
		String line;
		ServerSocket server=new ServerSocket(4704);
		while(true){
			Socket socket=server.accept();
		    if(socket!=null){
		    	 System.out.println("客户端已经连接,服务器开启线程处理这个连接。");
		    	 new ServerSendThread(socket).start();
		    	 new ServerRecevidThread(socket).start();
		    }	
		}
	}
}


工具类:
package com.supan;

public class StringToCharArray {
	
	public static void main(String[] args) {
		String str = "123年我们";
		StringBuffer sb = new StringBuffer();
		  for(int i=0;i<str.length();i++){
            if(str.charAt(i) > '9' || str.charAt(i) < 0){
                System.out.println("不是字符");
            }else{
            	sb.append(str.charAt(i));
            }
	      }
		  System.out.println(sb.toString());
	}
}
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics