服务端:

package com.thinkgem.wlw.modules.api.test.socket;

/**
* @Author: zhouhe
* @Date: 2019/4/8 9:30
*/ import java.io.*;
import java.net.*; /**
* 服务端
* 负责发送数据
*/
public class SocketServerTest { private static final int PORT = 5209; public static void test() {
ServerSocket server = null;
Socket socket = null;
DataOutputStream out = null;
try {
server = new ServerSocket(PORT);
socket = server.accept();
out = new DataOutputStream(socket.getOutputStream());
while (true) {
Thread.sleep(1000);
out.writeUTF(getRandomStr());
out.flush();
}
} catch (Exception e) {
e.printStackTrace();
}
} private static String getRandomStr() {
String str = "";
int ID = (int) (Math.random() * 30);
int x = (int) (Math.random() * 200);
int y = (int) (Math.random() * 300);
int z = (int) (Math.random() * 10);
str = "ID:" + ID + "/x:" + x + "/y:" + y + "/z:" + z;
return str;
} public static void main(String[] args) {
test();
}
}

客户端:

package com.thinkgem.wlw.modules.api.test.socket;

/**
* @Author: zhouhe
* @Date: 2019/4/8 9:27
*/ import java.net.*;
import java.io.*; /**
* 客户端
* 负责接收数据
*/
public class SocketClientTest {
private static final String HOST = "127.0.0.1";
private static final int PORT = 5209; private static void test() {
Socket socket = null;
DataInputStream dis = null;
InputStream is = null; try {
socket = new Socket(HOST, PORT);
is = socket.getInputStream();
dis = new DataInputStream(is);
while (true) {
System.out.println("receive_msg:" + dis.readUTF());
}
} catch (Exception e) {
e.printStackTrace();
}
} public static void main(String[] args) { test();
}
}

测试效果:

Java Socket 服务端发送数据 客户端接收数据的更多相关文章

  1. java网络编程TCP传输—流操作—服务端反馈与客户端接收

    在读取完流后,服务端会向客户端返回一些数据,告诉客户端,已经写完了. 在这里和”流操作—拿到源后的写入动作“差不多,客户端同样以byte与Buffered两种缓冲读取作为例子,同时,.也是希望大家给补 ...

  2. java实现服务端开启多线程处理客户端的上传图片请求

    将客户端c:\\a.jpg 上传到e:\\公司名称+6位随机数.jpg  这样为了不断开连接客户端每次上传的图片名字不重名覆盖,验证之用 这里需要注意的是Socket的终止客户端的输入方法  shut ...

  3. 使用ajax向服务端发送Form中的数据

    前端代码: <form action="" id="myFormUpdate"> <p>宠物名称: <input type=&qu ...

  4. java socket 服务端 客户端

    Server package com.witwicky.socket.basicsocket; import java.io.IOException; import java.io.InputStre ...

  5. Socket探索1-两种Socket服务端实现

    介绍 一次简单的Socket探索之旅,分别对Socket服务端的两种方式进行了测试和解析. CommonSocket 代码实现 实现一个简单的Socket服务,基本功能就是接收消息然后加上结束消息时间 ...

  6. 服务端挂了,客户端的 TCP 连接还在吗?

    作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林. 如果「服务端挂掉」指的是「服务端进程崩溃」,服务端的进程在发生崩溃的时候,内核会发送 ...

  7. https单向认证服务端发送到客户端到底会不会加密?

    最近向大神请教了CA认证单向认证和双向认证的问题,有一点不太明白,单向认证的时候,为什么服务端发送到客户端的东西也是加密的?

  8. socket小程序写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回

    写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回 本机id是192.168.xx.xy 服务端 import socket soc = socket.soc ...

  9. [经验] Java 服务端 和 C# 客户端 实现 Socket 通信

    由于项目需要, 我需要通过 Java 开发的服务端对 C# 作为脚本语言开发的 unity 项目实现控制 话不多说, 直接上代码 首先, 我们先来构建服务端的代码, 服务端我们使用 Java 语言 i ...

随机推荐

  1. StringUtils工具类常用方法详解

    StringUtils 常用方法 1.isEmpty(String str) 是否为空,空格字符为false2.isNotEmpty(String str) 是否为非空,空格字符为true3.isBl ...

  2. Effective C++ 第0章 copy constructor和copy assignment operator

    拷贝构造函数(copy constructor)被用来以一个对象来初始化同类型的另一个对象,拷贝赋值运算符(copy assignment operator)被用来将一个对象中的值拷贝到同类型的另一个 ...

  3. 基于令牌桶算法实现的SpringBoot分布式无锁限流插件

    本文档不会是最新的,最新的请看Github! 1.简介 基于令牌桶算法和漏桶算法实现的纳秒级分布式无锁限流插件,完美嵌入SpringBoot.SpringCloud应用,支持接口限流.方法限流.系统限 ...

  4. Map the Debris 轨道周期

    返回一个数组,其内容是把原数组中对应元素的平均海拔转换成其对应的轨道周期. 原数组中会包含格式化的对象内容,像这样 {name: 'name', avgAlt: avgAlt}. 至于轨道周期怎么求, ...

  5. PHP加密解密函数(带有效期,过了有效期也解不了)

    转的,原来应该是discuz中弄的 <?php //加解密函数 //此函数的厉害之处在于可以在指定时间内加密还原字符串,超时无法还原. //这样我们就可以拿此函数来做很多用途了,比如:单点登录的 ...

  6. 你不知道的CSS

    white-space: pre-line;//P标签自动换行

  7. Mysql七种 JOIN 连接

    内连接 SELECT <select_list> FROM TableA A INNER JOIN TableB B ON A.Key = B.Key 左外连接 SELECT <se ...

  8. [算法]浅谈求n范围以内的质数(素数)

    汗颜,数学符号表达今天才学会呀-_-# 下面是百度百科对质数的定义 质数(prime number)又称素数,有无限个. 质数定义为在大于1的自然数中,除了1和它本身以外不再有其他因数. 求质数的方法 ...

  9. [洛谷P1650] 田忌赛马

    贪心难题:总结贪心问题的一般思路 传送门:$>here<$ 题意 田忌和齐王各有n匹马,赛马时一一对应.赢+200,输-200,平+0. 问最多多少钱? 数据范围:$n \leq 2000 ...

  10. 【LUOGU???】WD与积木 NTT

    题目大意 把 \(n\) 个有标号物品分到一些有标号的箱子中且不允许为空,问期望箱子的数量. 多组询问. \(n\leq 100000\) 题解 记 \(f_i\) 为 \(i\) 个有标号物品分到一 ...