java socket客户端一直监听服务端返回数据

连接服务端之后,一直要监听服务端的加载信息,当检测到特定格式的数据,干什么事。目前是用readLine!=null循环读取数据的,关闭是用ajax发一条命令给服务端,当检测到这条命令时,退出循环读取,但是这个方法是阻塞的,及不方便,如发送心跳包,有什么更好的方法实现吗

1个回答

java socket是阻塞IO,建议了解下nio,开源实现可以用netty,通信方式是非阻塞的,api使用也比较简单。

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
socket 客户端 接收监听服务端 的返回消息
SOCKET 发送消息给 监听端, 监听端返回 消息给 发送端rnrn发送端怎样接受啊rnrn还是 发送端也要写监听rn
java socket 客户端和服务端
这个小程序是我自己一手一脚写出来的,经个人测试可以运行!并且里面附有很详细的解释!详细看了我代码的都会了解什么是java socket!并对初学者和具有一点水平的人很有启发!
java socket服务端和客户端
java版的socket,包含的服务端和客户端,实现两者连接和数据通讯
socket之服务端监听
tcp以及udp协议<br />nsocket常用函数<br />nwebsocket协议<br />nwebsocket实战web聊天室
Socket 连接 服务器端怎么一直监听客户端传过来的数据?着急
Socket 连接 服务器端怎么一直监听客户端传过来的数据!客户端每次发送数据都要点击button1按钮,我想在点击一次后服务器端一直监听客户端传过来的数据!请大家帮忙rnrn客户端:rnrnprivate void btnUpLoad_Click(object sender, EventArgs e)rnrn     int port = 2000;rn string host = "192.168.1.91";rnrn tryrn rn rn IPAddress ip = IPAddress.Parse(host);rn IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndPoint实例rn Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socketrn statusBar1.Text = "Conneting......";rn //Console.WriteLineConneting...");rn c.Connect(ipe);//连接到服务器rn string sendStr = this.txtBarCode.Text.Trim();rn byte[] bs = Encoding.ASCII.GetBytes(sendStr);rn //Console.WriteLine("Send Message");rn statusBar1.Text = "Send Message";rn c.Send(bs, bs.Length, 0);//发送测试信息rn string recvStr = "";rn byte[] recvBytes = new byte[1024];rn int bytes;rn bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息rn recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);rn //Console.WriteLine("Client Get Message:0", recvStr);//显示服务器返回信息rn statusBar1.Text = "Client Get Message:"+recvStr;rn c.Close();rnrn rn catch (ArgumentNullException ex)rn rn statusBar1.Text=ex.ToString();rn rn catch (SocketException es)rn rn statusBar1.Text=es.ToString();rn rn rnrn服务器端:rnprivate void button1_Click(object sender, EventArgs e)rnrn tryrn rn ChatServer = new IPEndPoint(IPAddress.Parse(ip), port);rnrn ChatSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket类rnrn ChatSocket.Bind(ChatServer);//绑定2000端口rnrn ChatSocket.Listen(10);//开始监听rnrn AcceptedSocket = ChatSocket.Accept();//为新建连接创建新的Socket。rnrnrn string recvStr = "";rn byte[] recvBytes = new byte[1024];rn int bytes;rn bytes = AcceptedSocket.Receive(recvBytes, recvBytes.Length, 0);//从客户端接受信息rn recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);rnrn string sendStr = "Ok!";rn byte[] bs = Encoding.ASCII.GetBytes(sendStr);rn AcceptedSocket.Send(bs, bs.Length, 0);//返回客户端成功信息rnrn ReadFile(recvStr);rnrn ChatSocket.Close();rn AcceptedSocket.Close();rnrn rn catch (ArgumentNullException es)rn rn MessageBox.Show(es.ToString());rn rn catch (SocketException ex)rn rn MessageBox.Show(ex.ToString());rn rn rn
java socket客户端和服务端实例
以下代码参考马士兵的聊天项目,先运行ChatServer.java实现端口监听,然后再运行ChatClient.java 客户端实例 ChatClient.java import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; public class ChatClient ex
java socket 客户端和服务端例子
一个使用的java socket 客户端和服务端例子,优化了数据传输的中文问题。
java tcp socket客户端和服务端
传字符串 package study_04; import java.io.DataInputStream; import java.net.ServerSocket; import java.net.Socket; public class SocketServer { public static void main(String[] args) throws Exception { ...
java socket 客户端与服务端通讯
java socket 客户端与服务端通讯
C客户端JAVA服务端Socket
记录一下服务器代码,之前写的收不到客户端传来的数据,C客户端一直向服务器发送消息 package t; import java.io.*; import java.net.*; public class Server {     public static void main(String[] args) {         try {             ServerSocket...
socket做客户端服务端通信,返回json
服务端代码: package ywt.socketserver; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; impo...
Socket怎么在客户端一直监听Socket服务器的端口号
我现在的问题是, 我向服务器端口8881广播了一个数据,服务器那边也收到了我的数据,然后服务器那边已8880的端口返回了一个数据给我,因为如果以8881端口返回的数据还是我自己发送过去的数据。  所以服务器那边是以8880的端口返回数据给我这边。 问题是:我在客户端这边应该怎么接收呢。
关于php中 SOCKET 从服务端返回客户端数据问题
最近做的一个项目,需要用到php socket通信方面,现在我测试了 ,在TCP下可以成功从客户端发往服务端,服务端也可以返回到客户端信息。rn但是在UDP下,程序就会出现问题,可以在客户端接收到信息,但是用socket_write()返回的话,会显示找不到返回的地址。。。然后 客户端也接受不到服务端返回的信息! rn 在此 请求 懂这方面的帮忙解决下。rnrnPHP Warning: socket_write(): unable to write to socket [0]: 由于套接字没有连接rn并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求rn没有被接受。
Socket服务端与客户端通讯
Socket服务端与客户端通讯,实现一对一聊天,详细请看博客文章
Socket demo (服务端和客户端)
Socket demo (服务端和客户端)支持多链接,性能测试等
socket服务端+客户端
C# Socket服务端通讯的代码,使用异步方式进行通讯,并且可以同时支持多个客户端连接。
NIO Socket服务端和客户端
声明:本文章仅基于个人粗略整理总结,如有不足之处,欢迎指出。 参考文章:NIO Socket编程实例、nio的简单传输例子、深入浅出NIO Socket实现机制、深入浅出NIO之Channel、Buffer ++++++++++++++++++++++++++ 上一篇:https://blog.csdn.net/u012767184/article/details/88762935 ni...
Socket模拟客户端与服务端
利用socket 模拟客户端与服务端的事例
SOCKET客户端 服务端调试工具
可新建socket客户端,服务端并模拟发送各种请求, 绿色版无需安装
Socket客户端和服务端工具
一个很实用的Socket通讯测试工具,支持TCP、UDP协议,可以作为客户端,也可以做为服务端,支持定时发送,支持发送文件。
Socket客户端服务端
Socket通信,包含客户端(client),服务端( server),实现两端之间通信。
socket基础(服务端 客户端)
包含socket服务端以及客户端代码,基本使用方法
socket服务端客户端简单程序
一个简单的 socket服务端客户端简单程序,可以更方便初学者学习socket编程
Socket服务端和客户端通信
1、客户端Client创建 public class Client {     public static void main(String[] args) {         try {             //1、创建客户端Socket,指定服务器端口号和地址             Socket socket = new Socket("localhost",8080);
Socket服务端和客户端文件传输
很多朋友在使用socket编程时不可避免的都做过文件传输,而视频电影等需要一个字节一个字节的传输; 但是客户端一般都通过-1进行终止,服务也一样;但是存在的问题是客户端永远不会把-1传递给服务端; 因此经常会遇到服务端卡死报错;所以在传输时先把文件接收标示传递给服务端,比如文件长度,或者终止字符等 Server: public class Server { public stati...
Socket搭建客户端和服务端
package com.vtradex.java; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * server服务路径...
socket客户端往服务端
socket客户端从服务端下载文件是经常见的, 那如果我想把客户端的文件发到服务端,我该怎么实现呢,怎么发送。求指导~~~
socket客户端与服务端Demo
网络编程都是最底层都是基于socket的,鉴于客户端需要一直发送消息,使用短连接就不适合了,因为建立socket连接后发送完数据又马上断开连接。而长连接通过客户端的心跳机制一直保持连接,不管当前是否接收和发送数据。长连接服务端代码如下:
socket服务端和客户端通信
先讲解要注意的地方:双方在主函数那里都写读,在线程里用write,因为不这样会在gets那里卡死,要获取数据后才打印,下面是客户端 socket的返回值是accept的返回值 要注意read读的是accept的返回值,是连接后的返回值;
socket服务端和客户端通讯
socket服务端和客户端通讯
广域网的socket服务端和客户端
// 客户端 #include #include #include #include #include #include #include #include #include #define ERR_EXIT(m) \ do \ { \ perror(m); \ exit(EXIT_
ANDROID SOCKET 服务端/客户端
安卓SOCKER 局域网聊天服务端/客户端源码,测试好用。
Socket服务端客户端
Socket服务端客户端,架设,成功编译。适合所有学网络编程的人看。
socket服务端客户端源代码
socket服务端客户端源代码,聊天程序应用
socket服务端和客户端
服务端: new Thread(new Runnable() { @Override public void run() { try { // 监听指定的端口 int port = 55533; server = new ServerSocket(port); Log...
socket(C++)客户端和服务端
服务端 #define _WINSOCK_DEPRECATED_NO_WARNINGS #include&lt;WinSock2.h&gt; #include&lt;stdio.h&gt; #define PORT 5150 #define MSGSIZE 1024 #pragma comment(lib,"ws2_32.lib") void main() { //1.初始化 WS...
(同步)Socket服务端和客户端
服务器同步套接字编程套路: 1.IP; IPAddress ipAddress = IPAddress.Parse("192.168.0.1"); 2.端口; IPEndPoint ipEndPoint = new IPEndPoint(ipAddress,7777); 3.创建监听套接字; Socket listenSocket = new Socket(AddressFamily.
socket服务端客户端
socket服务端客户端 高效率的通信 可以借鉴 开发的网络服务 以及 网络游戏
golang socket 服务端与客户端
golang socket 服务端与客户端
异步socket监听服务端程序
不能实现一个SOCKET来回交互多次数据,待程序完善后我将重新上传。 目前仅作研究之用!需要的朋友可以下载。
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法