`
lizhensan
  • 浏览: 369634 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

socket 长连接 模拟

    博客分类:
  • java
 
阅读更多
package tcp;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;


public class TcpServer {

	// 先启动服务器端程序
	public static void main(String[] args) throws IOException {
		ServerSocket serverSocket = new ServerSocket(8080);
		System.out.println("tcp 服务端开启....");
		while (1 == 1) {
			Socket socket = serverSocket.accept();// 阻塞等待消息
			System.out.println("已经获取连接"+socket);
			socket.setSoTimeout(10*1000);//readLine这里等待10s,如果用户还没有输入就抛出异常java.net.SocketTimeoutException
			InputStream inputStream = socket.getInputStream();
			BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
			System.out.println("接收客户端信息...");
			while (true) {//长连接不断处理
				System.out.println("等待用户输入");
				String readLine = bufferedReader.readLine();
				System.out.println("接收报文:" + readLine);
			}
		}
	}
}

 

package tcp;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;

public class TcpClient {
	public static void main(String[] args) {
		try {
			Socket s = new Socket("127.0.0.1", 8080);
			// InputStream is = s.getInputStream();
			OutputStream os = s.getOutputStream();
			DataOutputStream os_d = new DataOutputStream(os);
			for (;;) {// 保持长连接不断发送
				InputStreamReader input = new InputStreamReader(System.in);
				BufferedReader read = new BufferedReader(input);
				String content = read.readLine();

				System.out.println("开始发送报文," + content);
				os_d.writeBytes(content + System.getProperty("line.separator"));
			}

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

 

 

分享到:
评论

相关推荐

    Web socket长连接技术介绍v1.pptx

    传统HTTP请求模拟双向数据传递的方式是http+Polling和http+Long Polling。如果服务端没有新数据,但是客户端get请求到的数据都是旧数据,这样不仅浪费了带宽资源,而且占用CPU内存。 LongPolling是在Polling上的一些...

    使用socket编程模拟滑动窗口协议

    理解数据链路层的滑动窗口协议,完整实现滑动窗口协议中的1bit滑动窗口协议,通过socket实现TCP连接来进行模拟

    java socket连接池

    一个socket池 模拟处理并发服务器

    androidstudio实现socket通讯

    Android通过socket套接字实现网络连接,通过ip地址和ip端口实现访问服务器,从而实现客户端和服务器的连接,然后实现两者数据的互连

    Socket TCP UDP 客户端 服务器模拟工具

    TCP客户端和服务器模拟,UDP客户端和服务器模拟。对于你新人来说,你可以做完客户端之后选择这个工具模拟服务器,然后尝试连接确认自己客户端写的正确,反之亦然。

    简单的socket编程 面向连接的聊天客户机与服务器

    简单的基于面向连接c/s程序工作模型的socket编程

    C#SOCKET例子

    C# SOCKET 例子,里面有多个SOCKET 连接的例子,欢迎大家来学习!

    jmeterSocket客户端端调试

    jmeter socket Client端,用于调试非压测,启动服务端后,将此文件放入eclipse中导出成Jar包

    IIS简单模拟(C#)

    IIS基本原理: 浏览器发出请求,服务器处理请求,服务器返回响应 即 请求-->处理-->响应 ...http/1.1中的长连接的意思是一个页面的访问在一个socket中完成 http/1.0的处理是处理完一个请求,马上关闭,不会保持连接

    单线程Socket编程实现mysql数据读取

    Socket客户端通过Socket服务器读取mysql数据库中的一条记录。

    Postman模拟请求

    研发者可以用这个工具模拟GET、POST请求,支持添加header。

    Socket客户端与服务器测试C#源代码

    这种测试涉及客户端和服务器之间的实时通信,通过模拟不同的场景和数据流,可以验证客户端和服务器之间的连接、数据传输和响应能力。 以下是进行Socket客户端与服务器测试的一些说明: 建立测试环境:需要搭建一个...

    用C语言实现Socket模拟TCP协议

    使用VS中的VC++下面的CLR编写,主要目的用Socket模拟TCP通信协议,实验内容如下:i. 实现滑动窗口协议,窗口大小为5 ii. 模拟采用三次握手机制,显示出ACK、ack、Seq等标识位和参数 iii. 必须采用应答机制、超时...

    STM32分别以串口,硬件SPI,模拟并口驱动CH395,4个socket连接

    STM32分别以串口,硬件SPI,模拟并口驱动CH395,4个socket连接, 原路返回上位机发送的数据。串口模式支持更改工作波特率,硬件SPI速率最高36MHz, 模拟并口较快,这三种模式支持在stm32任意型号下。

    android studio Socket客户端服务器通信 TCP/IP通信

    android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信android studio Socket客户端服务器通信 TCP/IP通信

    基于TCP用于模拟UDP广播的Socket服务端程序

    该Demo基于TCP用于模拟UDP广播的Socket服务端程序,能够实时监听基于TCP协议的socket客户端的连接和断开,可以用于简单的实现服务端向多客户端发送信息,进行交互

    socket调试工具

    用于socket调试,可模拟客户端、服务端,建立长连接模拟通讯

    Socket调制工具+操作手册

    Socket调制工具 Sockettool v4 支持TCP、UDP连接 exe可执行文件,解压后双击即可运行

    一个Http请求处理工具 爬虫

    本工具是上一个http请求处理工具的更新,用socket来模拟http, 一个Http请求处理工具 Socket C#消息队列的创建 读取远程消息队列 socket长连接 http长连接

    Windows下C++多线程SOCKET服务代码

    作为SOCKET服务端时,需要接收远程主机的连接,当远程主机请求连接, 根据业务需要首先要验证该客户端是否是合法的客户,此时,需要从系统的允许访问队列表 查询是否有该主机的信息,如果有该主机的信息,则...

Global site tag (gtag.js) - Google Analytics