4.14总结

学习了多线程,网络编程,lambda的使用

//服务器端
public class fuwuqi {
    public static void main(String[] args) throws IOException, ClassNotFoundException {
        try {
            ServerSocket serverSocket = new ServerSocket(8888);
            while (true) {
                Socket clientsocket = serverSocket.accept();
                System.out.println("服务器ok");
                new Thread(() -> {
                    //while(true){
                        try{
                            InputStream inputStream = clientsocket.getInputStream();
                            OutputStream outputStream = clientsocket.getOutputStream();

                            byte[] buffer = new byte[1024];
                            int bytesRead = inputStream.read(buffer);
                            String receivedMessage = new String(buffer, 0, bytesRead);
                            System.out.println("收到消息:" + receivedMessage);
                            String responseMessage = "Hello,Client!";
                            outputStream.write(responseMessage.getBytes());
                            clientsocket.close();
                            }catch (Exception e){
                                e.printStackTrace();
                            }
                    //}
                }).start();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
//用户端
public class Main {
    public static void main(String[] args) throws IOException {
        try {
            
            String serverAddress = "localhost";
            int serverPort = 8888;
            Socket clientSocket = new Socket(serverAddress, serverPort);

            
            InputStream inputStream = clientSocket.getInputStream();
            OutputStream outputStream = clientSocket.getOutputStream();

            
            //Scanner scanner = new Scanner(System.in);
            String message = "Hello,Client!";//scanner.next();
            outputStream.write(message.getBytes());

            
            byte[] buffer = new byte[1024];
            int bytesRead = inputStream.read(buffer);
            String receivedMessage = new String(buffer, 0, bytesRead);
            System.out.println("收到服务器响应:" + receivedMessage);

            
            clientSocket.close();
        } catch (Exception e) {
            e.printStackTrace();
        }

服务器端代码中自旋等待数据,接收数据后利用lambda创建线程,指定端口,创建了输入输出对象,接受用户端传来的数据,再关闭端口。用户端设置端口,IP,在与服务器建立连接,再关闭端口。

多线程可以并发处理需求

大概懂得lambda表达式的用法

大概了解搭建服务器的原理

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值