我是靠谱客的博主 美好寒风,最近开发中收集的这篇文章主要介绍Java-网络编程作业,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

 解题思路:

本题主要考察了TCP网络编程的字符流,两个程序:SocketTCP03Server(服务端)、SocketTCP03Client(客户端)

代码实现:

SocketTCP03Server(服务端):

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * ======刘春春大帅逼======
 * ******java学习之旅******
 * 服务器
 */

//使用 字符流 
public class SocketTCP03Server {
    public static void main(String[] args) throws Exception {
        ServerSocket serverSocket = new ServerSocket(9999);
        Socket socket = serverSocket.accept();
        //在9999端口监听

        InputStream inputStream = socket.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String s = bufferedReader.readLine();

          String answer="";
        if("name".equals(s)){
            answer = "我是春春";
        }
        else if("hobby".equals(s)){
            answer="写java";
        }
        else answer="你说的什么";

        //获取socket相关联的输出流
        OutputStream outputStream = socket.getOutputStream();
        //使用字符输出流 回复信息
        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
        bufferedWriter.write(answer);
        bufferedWriter.newLine();
        bufferedWriter.flush();

        //关闭流对象和socket
        outputStream.close();
        bufferedWriter.close();
        bufferedReader.close();
        inputStream.close();
        serverSocket.close();
        socket.close();


    }
}

SocketTCP03Client(客户端):

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;
import java.util.Scanner;

/**
 * ======刘春春大帅逼======
 * ******java学习之旅******
 * 客户端
 */

public class SocketTCP03Client {
    public static void main(String[] args) throws Exception{
        Socket socket = new Socket(InetAddress.getLocalHost(), 9999);

        OutputStream outputStream = socket.getOutputStream();
        //得到和socket对象关联的 输出流 对象

        BufferedWriter bufferedWriter = new BufferedWriter(new OutputStreamWriter(outputStream));
        //转换流

        //从键盘读取用户的问题
        Scanner scanner = new Scanner(System.in);
        System.out.println("请输入你的问题:");
        String question = scanner.next();

        bufferedWriter.write(question);
        bufferedWriter.newLine();//插入一个换行符,表示写入的内容结束
        bufferedWriter.flush();// 如果使用的字符流,需要手动刷新,否则数据不会写入到数据通道

        // 获取 和socket关联的输入流,读取数据(字符),并显示
        InputStream inputStream = socket.getInputStream();
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
        String s=bufferedReader.readLine();
        System.out.println(s);

        //关闭流对象和socket
        bufferedReader.close();
        bufferedWriter.close();
        inputStream.close();
        outputStream.close();
        socket.close();


    }
}

最后

以上就是美好寒风为你收集整理的Java-网络编程作业的全部内容,希望文章能够帮你解决Java-网络编程作业所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(57)

评论列表共有 0 条评论

立即
投稿
返回
顶部