首页 > 编程语言 >java网络编程-客户端和服务器

java网络编程-客户端和服务器

时间:2023-02-28 09:57:28浏览次数:37  
标签:java Socket 编程 System println new 服务端 客户端

基于java.net包,实现一个简单的服务端和客户端,客户端只管发,服务端只管收

缺点:服务端只能处理一个客户端的请求,因为服务端是单线程的。一次只能与一个客户端进行消息通信

服务端:

public class Server {
    public static void main(String[] args) throws Exception {
        System.out.println("==服务器的启动==");
        // 1.监听端口
        ServerSocket serverSocket = new ServerSocket(8888);
        //2.等待接收客户端的连接,得到一个端到端的Socket管道
        Socket socket = serverSocket.accept();
        //3.从Socket管道中得到一个字节输入流。
        InputStream is = socket.getInputStream();
        //4.把字节输入流包装成自己需要的流进行数据的读取。
        BufferedReader br = new BufferedReader(new InputStreamReader(is));
        //5.循环读取数据并打印到屏幕
        String line;
        while ((line = br.readLine()) != null) {
            System.out.println("收到:" + line);
        }
    }
}

客户端:

public class Client {
    public static void main(String[] args) throws Exception {
        System.out.println("==客户端的启动==");
        // 1.创建一个Socket的通信管道,请求与服务端的端口连接。
        Socket socket = new Socket("127.0.0.1", 8888);
        // 2.从Socket通信管道中得到一个字节输出流。
        OutputStream os = socket.getOutputStream();
        // 3.把字节流改装成自己需要的流进行数据的发送
        PrintStream ps = new PrintStream(os);
        // 4.开始发送消息
        Scanner sc = new Scanner(System.in);
        while (sc.hasNextLine()) {
            String msg = sc.nextLine();
            ps.println(msg);
            ps.flush();
        }
    }
}

 

标签:java,Socket,编程,System,println,new,服务端,客户端
From: https://www.cnblogs.com/wangbin2188/p/17162874.html

相关文章

  • Failed to start bean ‘documentationPluginsBootstrapper’; nested exception is j
    Youmightencounterthe“Failedtostartbean'documentationPluginsBootstrapper';nestedexceptionisjava.lang.NullPointerException”errorwhileupgradingS......
  • JavaFX 学习记录
    使用JavaFX时一些奇怪的问题继承自Application类的构造函数会被执行两次先看代码://FXTestMain.javaimportjavafx.application.Application;importjavafx.stage......
  • java中&的使用
    &是位于运算当它的左右是两个int类型数时,要将它们转化为二进制进行位于运算(即将两个二进制数上的每一位进行且运算)例如:4&3即(100&101)结果为:100......
  • 吐血整理!2万字Java基础面试题(带答案)请收好!
    熬夜整理了这么多年来的Java基础面试题,欢迎学习收藏,手机上可以点击这里,效果更佳https://mp.weixin.qq.com/s/ncbEQqQdJo0UaogQSgA0bQ1.1Hashmap与concurrentHashMap......
  • java正则匹配demo
    java正则匹配实现1.问题描述根据指定的字段名限制条件,提取出sql语句中的对应字段名并返回。字段名限制条件如下:必须以${开头,}结尾;中间只能包含字母、数字和下划......
  • javaSE学习二
    使用Scanner实现用户交互   注意点:使用next方法时一定读取到有效字符后才能结束输入,有效字符前的空白自动去除,有效字符后的空白为结束符,next不能得到有空格的字符串......
  • Java语言概述
    Java概述是SUN(StanfordUniversityNetwork,斯坦福大学网络公司)1995年推出的一门高级编程语言。是一种面向Internet的编程语言。Java一开始富有吸引力是因为Java程序......
  • 从键盘输入的值 放到javabean 函数数组中
    类packagecom.fqs.demo1;publicclassCar{privateStringpinpai;privateDoubleprice;privateStringcolor;publicCar(){}......
  • Java实现简单薪水计算器相关操作代码
    /***薪水计算器*1.通过键盘输入用户的月薪,每年是几个薪水*2.输出用户年薪*3.输出一行字“如果年薪超过10万,恭喜你超越了90%的国人;如果年薪超过了20万,恭喜你超越了......
  • Java实现简单个人所得税计算器相关操作代码
    /***个税计算器*1.通过键盘输入用户的月薪*2.百度搜素个税计算方法,计算出应缴纳的税款*3.直到键盘输入88,则退出程序(使用break语句退出循环)*应纳税所得额=工资收......