Java Socket 服务端发送数据 客户端接收数据
服务端:
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 服务端发送数据 客户端接收数据的更多相关文章
- java网络编程TCP传输—流操作—服务端反馈与客户端接收
在读取完流后,服务端会向客户端返回一些数据,告诉客户端,已经写完了. 在这里和”流操作—拿到源后的写入动作“差不多,客户端同样以byte与Buffered两种缓冲读取作为例子,同时,.也是希望大家给补 ...
- java实现服务端开启多线程处理客户端的上传图片请求
将客户端c:\\a.jpg 上传到e:\\公司名称+6位随机数.jpg 这样为了不断开连接客户端每次上传的图片名字不重名覆盖,验证之用 这里需要注意的是Socket的终止客户端的输入方法 shut ...
- 使用ajax向服务端发送Form中的数据
前端代码: <form action="" id="myFormUpdate"> <p>宠物名称: <input type=&qu ...
- java socket 服务端 客户端
Server package com.witwicky.socket.basicsocket; import java.io.IOException; import java.io.InputStre ...
- Socket探索1-两种Socket服务端实现
介绍 一次简单的Socket探索之旅,分别对Socket服务端的两种方式进行了测试和解析. CommonSocket 代码实现 实现一个简单的Socket服务,基本功能就是接收消息然后加上结束消息时间 ...
- 服务端挂了,客户端的 TCP 连接还在吗?
作者:小林coding 计算机八股文网站:https://xiaolincoding.com 大家好,我是小林. 如果「服务端挂掉」指的是「服务端进程崩溃」,服务端的进程在发生崩溃的时候,内核会发送 ...
- https单向认证服务端发送到客户端到底会不会加密?
最近向大神请教了CA认证单向认证和双向认证的问题,有一点不太明白,单向认证的时候,为什么服务端发送到客户端的东西也是加密的?
- socket小程序写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回
写一个客户端,实现给服务端发送hello World字符串,将客户端发送的数据变成大写后返回 本机id是192.168.xx.xy 服务端 import socket soc = socket.soc ...
- [经验] Java 服务端 和 C# 客户端 实现 Socket 通信
由于项目需要, 我需要通过 Java 开发的服务端对 C# 作为脚本语言开发的 unity 项目实现控制 话不多说, 直接上代码 首先, 我们先来构建服务端的代码, 服务端我们使用 Java 语言 i ...
随机推荐
- JAVA进阶23
1.统计文件夹大小 package cn.demo02; import java.io.File; /** * @Classname DirTest03 * @Description TODO * @ ...
- IdentityServer4客户端如何获取自定义声明,了解一下?
前言 久违了各位,之前录制过IdentityServer4的基础视频(https://space.bilibili.com/319652230/#/),有兴趣了解的童鞋可以看一下,只不过未发表成博客. ...
- Vue 路由心得总结
一. 嵌套路由 a.主页面, main.vue , 子页面分别为 shouye.vue / liuyan.vue / about.vue , 首先, 在main.vue加入导 ...
- Redis的常见用法
Redis redis是一个key-value存储系统.和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合).zset(sorte ...
- 周末学习笔记——day03(模块,包)
一,复习 ''' 装饰器 @wraper # fn = wraper(fn) def fn(): pass def wrap(arg): def outer(func): # 可以用arg def i ...
- OO第二单元总结——多线程电梯
第五次作业分析 1.设计策略 调度器采用单例模式,内部设请求队列,对请求队列的一切操作(查.增.删)都在调度器内完成,且都要求串行,从而确保线程安全.接收器和电梯是两个线程:接收器接受请求调用调度器来 ...
- CSS 实现自动换行、强制换行、强制不换行的属性
实现效果 1.自动换行: word-wrap:break-word; word-break:normal; 2.强制换行: word-break:break-all; 按字符截断换行 /* ...
- MongoDB之常用操作
最近经常使用MongoDB来进行数据的操作,特此记录总结一下
- Python Scrapy反爬虫常见解决方案(包含5种方法)
爬虫的本质就是“抓取”第二方网站中有价值的数据,因此,每个网站都会或多或少地采用一些反爬虫技术来防范爬虫.比如前面介绍的通过 User-Agent 请求头验证是否为浏览器.使用 JavaScript ...
- python 绘制柱状图
python 绘制柱状图 import matplotlib.pyplot as plt import numpy as np # 创建一个点数为 8 x 6 的窗口, 并设置分辨率为 80像素/每英 ...