• java实现网络通信


    这个测试项目很久以前写的,现在发表出来备份一下。

    此测试代码主要是实现客户端与服务器端实现通信,使用socket套接字编程实现。

    客户端代码为:

    package com.client.test;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.net.Socket;
    
    import com.server.test.Server;
    
    public class Client {
    
    	
    	public static void main(String[] args)
    	{
    		Socket s = null;
    		BufferedReader br = null;
    		PrintWriter pw = null;
    		
    		try{
    			s = new Socket("127.0.0.1",Server.port);
    			
    			br = new BufferedReader(new InputStreamReader(s.getInputStream()));
    			
    			pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())));;
    			
    			for(int i=0; i<10; i++)
    			{
    				pw.println("client:" + i);
    				pw.flush();
    				String str = br.readLine();
    				System.out.println(str);
    			}
    			pw.println("end");
    			pw.flush();
    		}
    		catch(Exception e)
    		{
    			
    		}finally{
    			System.out.println("closing...");
    			try{
    				br.close();
    				pw.close();
    				s.close();
    			}catch(Exception e)
    			{
    				e.printStackTrace();
    			}
    		}
    	}
    }
    


    服务器端代码为:

    package com.server.test;
    
    import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.io.PrintWriter;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class Server {
    
    	public static int port = 6000;
    	
    	public static void main(String[] args)
    	{
    		ServerSocket ss = null;
    		Socket s = null;
    		BufferedReader br = null;
    		
    		PrintWriter pw = null;
    		
    		try{
    			ss = new ServerSocket(port);
    			s = ss.accept();
    			
    			//接受客户端发送过来的信息
    			br = new BufferedReader(new InputStreamReader(s.getInputStream()));
    			//发送返回信息
    			pw = new PrintWriter(new BufferedWriter(new OutputStreamWriter(s.getOutputStream())),true);
    			int num = 0;
    			while(true)
    			{
    				String str = br.readLine();
    				if(str.equals("end")) break;
    				
    				System.out.println("client message is :"+str);
    				Thread.sleep(100);
    				pw.println("Message received" + num++);
    				pw.flush();
    			}
    			
    		}catch(Exception e)
    		{
    			e.printStackTrace();
    			
    		}
    		finally{
    			try{
    				br.close();
    				pw.close();
    				s.close();
    				ss.close();
    			}catch(Exception e)
    			{
    				e.printStackTrace();
    			}
    		}
    	}
    }
    


     

  • 相关阅读:
    应用默认编码不对的问题定位
    以http server为例简要分析netty3实现
    用qemu+gdb tcp server+CDT调试linux内核启动-起步
    用virtualbox+模拟串口+CDT调试linux内核 TCP/IP协议栈-起步
    【转】常见容错机制
    python文档注释参数获取
    scrapy爬取图片
    xpath语法
    python爬虫爬取赶集网数据
    爬虫小总结
  • 原文地址:https://www.cnblogs.com/liuwu265/p/4032147.html
Copyright © 2020-2023  润新知