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连接打通,不过这样是一次性的

  • 相关阅读:
    Fast Search:爬网测试 金大昊(jindahao)
    FAST Search :deployment.xml
    TFS:强制签入已签出的文件 金大昊(jindahao)
    采用权限控制的工作流权限设计 金大昊(jindahao)
    FAST Search :创建自定义属性 金大昊(jindahao)
    SharePoint:替换搜索结果连接URL 金大昊(jindahao)
    SharePoint:迁移
    SharePoint:关于word模板内容类型(template.dotx) 金大昊(jindahao)
    SharePoint:备份和还原
    BCS 爬网报错 金大昊(jindahao)
  • 原文地址:https://www.cnblogs.com/mrluotong/p/5957965.html
Copyright © 2011-2022 走看看