socket-Java中Socket如何发送心跳告诉服务器还活着

问题描述

Java中Socket如何发送心跳告诉服务器还活着

客户端发送的是Object(A类的实例a),如果还要发送心跳,那么心跳用什么发(字符串,对象)? 服务器端怎么分辨是有用的对象还是心跳?

解决方案

心跳检测就是消息测试用的,可以约定某个字符串为心跳检测专用字符串啊。
协商好,再处理请求数据时区分下就可以了。

解决方案二:

这个就是一个空包就可以了的,和服务器端协商好,用什么样的包头,什么样的命令码,固定就可以了

时间: 2024-11-02 14:13:32

socket-Java中Socket如何发送心跳告诉服务器还活着的相关文章

java中socket通信问题,急急急

问题描述 java中socket通信问题,急急急 客户端和服务端用socket建立通信进行文件传输,客户端用outputstream将文件写入流中,在服务端用输入流读取.这时候客户端不想传了,断开连接并告知服务器.服务端如何获知客户端已经断开连接了. 解决方案 你客户端断开连接的时候进行了哪些操作?想想这些操作会对服务器端产生什么影响呗· 解决方案二: 服务端一直在循环监听是否有客户端连接,并不会知道某个客户端已经断开.建议客户端断开之前先执行某条协议,服务器收到这条协议便知道你要断开咯

java中哪些变量应该写在服务器,哪些变量应该写在客户端

问题描述 java中哪些变量应该写在服务器,哪些变量应该写在客户端 java中哪些变量应该写在服务器,哪些变量应该写在客户端 客户端的变量和服务器端的变量是一一对应的吗 解决方案 服务器和客户端是两个程序,甚至不是一种语言,和变量没有什么关系.一般来说,服务器放敏感的数据,比如用户账户密码,充值余额之类的.客户端放相对不敏感的数据,比如说用户设置,上次登录的用户名等等. 你一个完整的系统,两者当然是相关的. 解决方案二: 客户端用到的变量写在客户端 服务端用到的变量写在服务端

java中socket connect超时的设置方法

1.首先将标志位设为Non-blocking模式,准备在非阻塞模式下调用connect函数 2.调用connect,正常情况下,因为TCP三次握手需要一些时间:而非阻塞调用只要不能立即完成就会返回错误,所以这里会返回EINPROGRESS,表示在建立连接但还没有完成. 3.在读套接口描述符集(fd_set rset)和写套接口描述符集(fd_set wset)中将当前套接口置位(用FD_ZERO().FD_SET()宏),并设置好超时时间(struct timeval *timeout) 4.调

i socket io-iOS 中 socket.io fn咋整呢过呀?这种通信有fn在能实现传参吗?

问题描述 iOS 中 socket.io fn咋整呢过呀?这种通信有fn在能实现传参吗? 解决方案

关于Java中的ServerSocket类与构造服务器的解析

本文整理于网络材料:http://www.360doc.com/content/13/0327/19/7891085_274308578.shtml ServerSocket的构造方法有以下几种重载形式: ServerSocket() throws IOException ServerSocket(int port) throws IOException ServerSocket(int port, int backlog) throws IOException ServerSocket(int

java中socket接口使用方法

backlog 用于ServerSocket,配置ServerSocket的最大客户端等待队列.等待队列的意思,先看下面代码  代码如下 复制代码 public class Main {     public static void main(String[] args) throws Exception {         int port = 8999;         int backlog = 2;         ServerSocket serverSocket = new Serv

java中DatagramSocket连续发送多个数据报包时产生丢包现象解决方案

try { //向指定的ip和端口发送数据~! //先说明一下数据是谁发送过来的! byte[] ip = InetAddress.getLocalHost().getHostAddress().getBytes(); dp = new DatagramPacket(ip, ip.length, sendIAD, QQReceive.getPort()); ds.send(dp); //这里主要是因为多可数据报包发送时会产生丢包的情况...所以暂停一段时间! try { Thread.sleep

Java中通过jsch来连接远程服务器执行linux命令_java

有时候你可能需要通过代码来控制执行linux命令实现某些功能. 针对这类问题可以使用JSCH来实现,具体代码如下: public class CogradientImgFileManager{ private static final Logger log = LoggerFactory.getLogger(CogradientImgFileManager.class); private static ChannelExec channelExec; private static Session

基于Java Socket的自定义协议,实现Android与服务器的长连接(一)

一.基础知识准备 在正式给大家介绍自定义协议之前,我们先对网络传输和协议解析的相关知识点做一个基本的介绍,尽管这些知识点我们在学校里学过,但难免会有所遗忘,这里先做一个简单的介绍,以便对后文的内容理解更加顺畅. 1. 网络七层协议 OSI的7层从上到下分别是:7 应用层. 6 表示层. 5 会话层. 4 传输层. 3 网络层. 2 数据链路层. 1 物理层;其中高层(即7.6.5.4层)定义了应用程序的功能,下面3层(即3.2.1层)主要面向通过网络的端到端的数据流.应用层常见的协议有:HTTP