Socket通信

        Socket是支持TCP/IP协议的网络通信的基本操作单元,是对网络通信过程中端点的抽象表示,包含了进行网络通信所必需的5种信息:连接所使用的协议、本地主机的IP地址、本地进程的协议端口、远地主机的IP地址以及远地进程的协议端口。

服务端接收消息 

package com.dome;

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

public class Server_socket {
    public static final int PORT =8081;

    public static void main(String[] args) throws Exception{
        ServerSocket s=new ServerSocket(PORT);
        System.out.println("Started: "+s);
        try {
            Socket socket=s.accept();
            try {
                System.out.println("Connection accepted: "+socket);
                BufferedReader in=new BufferedReader(new InputStreamReader(
                        socket.getInputStream()));
                PrintWriter out =new PrintWriter(new BufferedWriter(
                        new OutputStreamWriter(socket.getOutputStream())),true);
                        while (true){
                            String str= in.readLine();
                            if(str.equals("END")) break;;
                            System.out.println("Echoing:"+str);
                            out.println(str+" haha");
                        }

            }finally {
                System.out.println("closing……");
                socket.close();
            }
        }finally {
            s.close();
        }
    }
}

客户端发送消息 

package com.dome;
import java.io.*;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Client_Socket {
    public static void main(String[] args) throws Exception{
        InetAddress address=InetAddress.getByName(null);
        System.out.println("adder="+address);
        Socket socket=new Socket(address,Server_socket.PORT);
        try {
            System.out.println("addr="+address);
            BufferedReader in =new BufferedReader(new InputStreamReader(socket.getInputStream()));
            PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
            for (int i=0;i<10;i++){
                out.println("www1"+i);
                String str =in.readLine();
                System.out.println(str);
            }
            out.println("END");

        }finally {
            System.out.println("closing……");
            socket.close();
        }
    }
}

多线程请看:Socket多线程通信-CSDN博客

相关推荐

  1. Socket通信

    2023-12-06 17:34:02       66 阅读
  2. 【python】socket通信

    2023-12-06 17:34:02       33 阅读
  3. Socket网络通信流程

    2023-12-06 17:34:02       30 阅读
  4. 网络通信(8)-Socket介绍

    2023-12-06 17:34:02       55 阅读
  5. socket编程实现TCP通信

    2023-12-06 17:34:02       40 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-06 17:34:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-06 17:34:02       101 阅读
  3. 在Django里面运行非项目文件

    2023-12-06 17:34:02       82 阅读
  4. Python语言-面向对象

    2023-12-06 17:34:02       91 阅读

热门阅读

  1. MySQL之函数学习

    2023-12-06 17:34:02       50 阅读
  2. File 类

    2023-12-06 17:34:02       56 阅读
  3. 数据库备份与恢复

    2023-12-06 17:34:02       50 阅读
  4. QT——数据转换(int/QString/QByteArray/char/string)等

    2023-12-06 17:34:02       53 阅读
  5. openssl 生成CA及相关证书

    2023-12-06 17:34:02       58 阅读
  6. 索引器【C#】

    2023-12-06 17:34:02       57 阅读
  7. 特征与特征图的区别

    2023-12-06 17:34:02       52 阅读
  8. git 学习笔记

    2023-12-06 17:34:02       63 阅读
  9. 【开源视频联动物联网平台】Node-RED规则引擎

    2023-12-06 17:34:02       52 阅读
  10. 前端面试题:常见的响应状态码

    2023-12-06 17:34:02       51 阅读
  11. 【总结】ES 7.x 配置用户名和密码访问(亲测可用)

    2023-12-06 17:34:02       59 阅读
  12. C语言K&R圣经笔记 4.3 外部变量

    2023-12-06 17:34:02       44 阅读
  13. RabbitMQ常用命令(一)

    2023-12-06 17:34:02       46 阅读