zoukankan      html  css  js  c++  java
  • 《java入门第一季》之tcp协议下的网络编程c/s实现通信交互

    需求:客户端向服务器发送数据,服务器端收到数据后向客户端返回数据:

    还是使用两台电脑,一台客户端,一台服务器。

    客户端代码:

    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.Socket;
    
    public class ClientDemo {
    	public static void main(String[] args) throws IOException {
    		// 创建客户端Socket对象
    		Socket s = new Socket("192.168.1.105", 9999);//这里的ip是服务器端的IP
    
    		// 获取输出流
    		OutputStream os = s.getOutputStream();
    		os.write("今天天气很好,适合睡觉".getBytes());
    
    		// 获取输入流,获取服务器的反馈
    		InputStream is = s.getInputStream();
    		byte[] bys = new byte[1024];
    		int len = is.read(bys);// 阻塞
    		String client = new String(bys, 0, len);
    		System.out.println("client:" + client);
    
    		// 释放资源
    		s.close();
    	}
    }
    

    服务器端代码:

    import java.io.IOException;
    import java.io.InputStream;
    import java.io.OutputStream;
    import java.net.ServerSocket;
    import java.net.Socket;
    
    public class ServerDemo {
    	public static void main(String[] args) throws IOException {
    		// 创建服务器Socket对象
    		ServerSocket ss = new ServerSocket(9999);
    
    		// 监听客户端的连接
    		Socket s = ss.accept(); // 阻塞
    
    		// 获取输入流
    		InputStream is = s.getInputStream();
    		byte[] bys = new byte[1024];
    		int len = is.read(bys); // 阻塞
    		String server = new String(bys, 0, len);
    		System.out.println("server:" + server);
    
    		// 获取输出流,给客户端反馈。
    		OutputStream os = s.getOutputStream();
    		os.write("数据已经收到".getBytes());
    
    		// 释放资源
    		s.close();
    		// ss.close();
    	}
    }
    


  • 相关阅读:
    scipy.spatial.distance.cdist
    关于hstack和Svstack
    numpy.hstack(tup)
    numpy.random.uniform(记住文档网址)
    Python集合(set)类型的操作
    python+Eclipse+pydev环境搭建
    python数据挖掘领域工具包
    LVS 命令使用
    CMD mysql 备份脚本
    Windos Server Tomcat 双开配置
  • 原文地址:https://www.cnblogs.com/wanghang/p/6299730.html
Copyright © 2011-2022 走看看