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 ...
随机推荐
- git常用命令说明教程
git常用命令说明教程 git介绍 是一个分布式的,版本控制软件.每台使用git的电脑都是一个分版本库.svn是集中管理的. 安装git 一 git相关操作 1.官网下载最新版安装https://gi ...
- golang学习和使用经验总结
学习网址 https://studygolang.com/pkgdoc go标准库网站 https://blog.csdn.net/sanxiaxugang/article/details/60324 ...
- Carthage下没有Build文件夹
问题描述: 用Carthage管理项目时,执行Carthage upate --platform iOS后发现Carthage目录下没有Build文件夹 解决方案: 在Xcode > Prefe ...
- 使用redis可能出现的问题
1)缓存与数据库双写不一致 2)缓存雪崩 3)缓存穿透 由于缓存中不存在某个key,所有的请求都会落到数据库上,会对数据库造成很大压力,甚至崩溃 一个简单的方案是将不存在的数据也缓存起来(value值 ...
- mycat入门--数据库分片
配置mycat的用户名和密码: 连接mycat,就像连接mysql一样:
- HTML 5 & checkbox & switch components
HTML 5 & checkbox & switch components <!DOCTYPE html> <html lang="zh-Hans" ...
- EntityFramework Core笔记:保存数据(4)
1. 基本保存 每个DBContext实例都有一个ChangeTracker,负责跟踪需要写入数据库的更改.当实例发生更改时,更改会被记录在ChangeTracker中,在调用 SaveChanges ...
- python之路8-内置模块介绍
time & datetime模块 1 #_*_coding:utf-8_*_ 2 __author__ = 'Alex Li' 3 4 import time 5 6 7 # print(t ...
- mapper.xml 的配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE mapper PUBLIC "- ...
- 关于TVWALL 通过AS300获取状态连接失败
昨天晚会突然之间频繁出现tvwall视频软件,断开AS300管理软件的故障 发现AS300当中的cms服务进程,占用内存250M左右,一般情况下估计就是50M左右,增长了不少 无奈之下,只有重启AS3 ...