zoukankan      html  css  js  c++  java
  • 客户端服务器互发数据

    服务器

    package com.test;
    
    
    import java.net.*;
    import java.io.*;
    
    public class MyServer {
        public MyServer(){
            try {
                //在60000端口上监听
                ServerSocket ss = new ServerSocket(60000);
                System.out.println("服务器启动,在60000端口上监听...");
                //阻塞 等待某个客户端的连接 这个函数会返回Socket连接
                Socket s = ss.accept();
                //System.out.println("与客户端的连接打通");
                //与客户端打通之后 就可以从s中读取客户端发送过来的数据  客户端的s与服务器的s是一样的 是同一个通道
                //InputStreamReader:是读对象  表示从s中读取数据流  
                InputStreamReader isr = new InputStreamReader(s.getInputStream());
                BufferedReader br = new BufferedReader(isr);
                String info = br.readLine();
                System.out.println("客户端说:"+info);
                
                PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
                //往客户端写一行
                pw.println("你好客户端,我是服务器");
                
            } catch (IOException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        public static void main(String[] args){
            MyServer ms = new MyServer();
        }
    }

    客户端

    package com.test;
    
    import java.net.Socket;
    import java.io.*;
    public class MyCLient {
    
        public static void main(String[] args) {
            
            MyCLient myClient = new MyCLient();
        }
        public MyCLient(){
            try {
                //Socket()需要传入两个参数 第一个是要发送的服务器的ip,第二个是端口
                Socket s = new Socket("127.0.0.1",60000);
                //如果s连接成功就可以往服务器发送数据
                //PrintWriter:写入对象
                //getOutputStream: 输出流  表示往s中写入数据,true 代表及时刷新数据
                PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
                //println()表示写一行
                pw.println("你好啊 ,我是客户端");
                
                //读取服务器发送过来的数据
                InputStreamReader isr =new InputStreamReader(s.getInputStream());
                BufferedReader br = new BufferedReader(isr);
                String info = br.readLine();
                System.out.println("服务器说:"+info);
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    
    }

    先启动服务器,让服务器在60000端口上监听,再启动客户端,那么这时客户端与服务器之间的socket连接打通,不过这样是一次性的

  • 相关阅读:
    在你设计中可能用到的20个杂志 PSD 原型
    Gradify
    CamanJS – 提供各种图片处理的 JavaScript 库
    免费素材:包含 250+ 组件的 DO UI Kit
    24个很赞的 Node.js 免费教程和在线指南
    Dynamics.js
    Page Scroll Effects
    Slides
    15款加速 Web 开发的 JavaScript 框架
    Wee – 为现代 Web 开发打造的 CSS 脚手架
  • 原文地址:https://www.cnblogs.com/mrluotong/p/5957965.html
Copyright © 2011-2022 走看看