苍之弦 2019-08-15 13:04 采纳率: 50%
浏览 220
已采纳

Java 如何在建立 Socket 通信后主动向 C#客户端发送信息

使用Java服务器与C#客户端成功建立套接字通信后,Java服务器如何主动向C#客户端发送消息?我只能在成功建立的那一刻向客户发送信息,但这不是我想要的。

项目启动时将开始创建套接字连接,但在建立之后,我无法自己向客户端发送信息。

-----这是负责建立套接字通信的代码。

public void openSocket() throws IOException {
        Socket socket = null;
        try {
            ServerSocket serverSocket = new ServerSocket(5656);
            log.info("server msg : UnitySocket server start {port : [5656]}");
            socket = serverSocket.accept();
            log.info("server msg : socket msg [client send !]");
            inputStream = new BufferedInputStream(socket.getInputStream());
            byte[] out_massage = new byte[messageLengthBytes];
            inputStream.read(out_massage);
            log.info("server msg : client msg is [ "+(new String(out_massage,"utf-8")));
            OutputStream outputStream = socket.getOutputStream();
            outputStream.write(socket_massage.getBytes()); // socket_massage = "welcome_send_server_!"
        } catch (IOException e) { e.printStackTrace(); }finally {
            if(socket != null){ socket.close(); }
            socket = null;
        }

这是要发送给客户端的数据

public Boolean askMoveUp(String address, String project,
                             String name, String massage,
                             String startTime, String endTime, String token) throws IOException {
        StringBuffer stringBuffer = new StringBuffer();
        SocketMassage socketMassage = new SocketMassage();
        String msg;

        stringBuffer.append(address).append("_");
        stringBuffer.append(project).append("_");
        stringBuffer.append(name).append("_");
        stringBuffer.append(massage).append("_");
        stringBuffer.append(startTime);
        msg = stringBuffer.toString();

        socketMassage.setMsg(msg);

        return true;

    }

我想要做的是askMoveUp()方法中的msg数据。如何在openSocket()方法中像socket_massage一样发送给客户端?当项目启动时,socket_massage中的数据被发送到客户端,但msg是如何发送的?希望大家能给我一个帮助,谢谢!

  • 写回答

1条回答 默认 最新

  • 关注

    用netty可以实现server向client push消息

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 如何构建全国统一的物流管理平台?
  • ¥100 ijkplayer使用AndroidStudio/CMake编译,如何支持 rtsp 直播流?
  • ¥20 和学习数据的传参方式,选择正确的传参方式有关
  • ¥15 这是网络安全里面的poem code
  • ¥15 用js遍历数据并对非空元素添加css样式
  • ¥15 使用autodl云训练,希望有直接运行的代码(关键词-数据集)
  • ¥50 python写segy数据出错
  • ¥20 关于线性结构的问题:希望能从头到尾完整地帮我改一下,困扰我很久了
  • ¥30 3D多模态医疗数据集-视觉问答
  • ¥20 设计一个二极管稳压值检测电路