• TCP通讯


    注意read、readLine方法时阻塞式的,所以注意newLine添加换行
    /*
    建立一个文本转换器,
    客户端给服务端发送文本,服务端会将文本进行转换,返回给客户端
    分析:
    客户端:
    1、既然操作设备上的数据,就可以使用IO技术。
    	源:键盘录入。
    	目的:网络输出流
    	而且操作是文本数据,可以使用字符流。
    */
    import java.net.*;
    import java.io.*;
    import java.lang.*;
    import java.lang.Exception;
    class  TransClient
    {
    	public static void main(String[] args) throws Exception
    	{
    		Socket s = new Socket("222.49.250.147",10001);
    		//定义读取键盘信息
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    		//定义目的,将数据写入到socket输出流,发给服务端
    		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
    		String line = null;
    		while((line = br.readLine()) != null)
    		{
    			bw.write(line);
    			bw.newLine();
    			bw.flush();
    			if("over".equals(line))
    				break;
    		}
    
    		//定义一个socket读取流,读取服务器返回的额值。
    		BufferedReader brServer = new BufferedReader(new InputStreamReader(s.getInputStream()));
    		line = null;
    		while((line = brServer.readLine()) != null)
    		{
    			System.out.println(line);
    		}
    
    		brServer.close();
    		bw.close();
    	}
    }
    /*
    将读取的字母转换成大写发送到客户端。
    */
    class TransServer
    {
    	public static void main(String [] args) throws Exception
    	{
    		ServerSocket ss = new ServerSocket(10001);
    		Socket s = ss.accept();
    		String ip = s.getInetAddress().getHostAddress();
    		System.out.println(ip + "is connected");
    		//定义一个流,用于读取客户端信息
    		BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream())); 
    		//处理输出,返回到客户端
    		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
    		String line = null;
    		while((line = br.readLine()) != null)
    		{
    			System.out.println(line);
    			bw.write(line.toUpperCase());
    			bw.newLine();
    			bw.flush();
    		}
    
    		bw.close();
    		br.close();
    	}
    }
    
    

  • 相关阅读:
    【POJ1961】period
    主席树入门
    noip模拟【tea】
    noip模拟【service】
    noip模拟【noname】
    clearfix清除浮动
    九大内置对象
    2017/10/10 jar包错误
    mybatis案例源码详解
    自动类型转换
  • 原文地址:https://www.cnblogs.com/dengshiwei/p/4258421.html
Copyright © 2020-2023  润新知