「java入門第1四半期」のtcpプロトコルの下でのプログラミングはキーボード入力データが絶えずサーバー側にデータケースを送信することを実現する


ここではチャネルストリームをカプセル化し、キーボードをカプセル化してデータストリームを入力します.
同じように、やはり2台のパソコンです.1つのクライアント、1つのサーバ.
クライアントコード:

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

/*
 *        ,         
 */
public class ClientDemo {
	public static void main(String[] args) throws IOException {
		//      Socket  
		Socket s = new Socket("192.168.1.105", 22222);//           IP      

		//       
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		//            
		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
				s.getOutputStream()));//   bw        OutputStream os = s.getOutputStream;  os

		String line = null;
		while ((line = br.readLine()) != null) {
			//               ,                 。
			if ("886".equals(line)) {
				break;
			}
			bw.write(line);//BufferedWriter            ,                 。           flush()        
			bw.newLine();
			bw.flush();
		}

		//     
		// bw.close();//socket   ,(   )bw           bw.close();
		// br.close();//          ,        ,  br         br.colse。            
		s.close();
	}
}
サービス・エンド・コード:
package cn.itcast_08;

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

public class ServerDemo {
	public static void main(String[] args) throws IOException {
		//      Socket  
		ServerSocket ss = new ServerSocket(22222);

		//        
		Socket s = ss.accept();

		//         
		BufferedReader br = new BufferedReader(new InputStreamReader(
				s.getInputStream()));
		String line = null;
		while ((line = br.readLine()) != null) {
			System.out.println(line);
		}

		// br.close();//s   br      
		s.close();
		// ss.close();//       
	}
}