SocketService.java package socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class SocketService { //搭建服务器端 pu…
之前在工作中写过一些Socket客户端与服务端的代码,但是当时没有时间仔细研究,只能不报错先过的态度,对其细节了解不深,写的代码有各种问题也浑然不知,只是业务量级以及对接方对接代码没有出现出格的情况所以问题不得暴露. 首先通过单线程Socket做服务端是一种BIO的做法,这种做法会导致服务端只能同时接收一笔请求,性能非常差 下面我把BIO的代码帖一下,有需要的同学可以参考 服务端 public class SocketIO { //客户端编码,客户端发送编码与服务端一致,则服务端无需进行解码特殊…
服务端: 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…
看了好几天的netty实战,慢慢摸索,虽然还没有摸着很多门道,但今天还是把之前想加入到项目里的 一些想法实现了,算是有点信心了吧(讲真netty对初学者还真的不是很友好......) 首先,当然是在SpringBoot项目里添加netty的依赖了,注意不要用netty5的依赖,因为已经废弃了 <!--netty--> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all<…
服务端: package socketProgram; import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import util.*;import util…
Server package com.witwicky.socket.basicsocket; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class Server { public static void main(String[] args) {…
客户端 public class User { public static void main(String[] args) { while (true) { try { Socket socket = new Socket("127.0.0.1", 8888); BufferedReader reader = new BufferedReader( new InputStreamReader(System.in)); String s = reader.readLine(); Pri…
import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hb…
HBase提供了Java Api的訪问接口,掌握这个就跟Java应用使用RDBMS时须要JDBC一样重要 import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoo…
最近使用Java做Socket客户端,与C的Socket服务端交互.遇到问题:现象是可以从服务端接受小数据,但是如果接受大数据,总是遇到Connection reset的异常:如果把服务端和客户端放到同一台机器上,无论接受大数据还是小数据都不会出错. 还一度怀疑是网络问题,延时太大.后来经过多次调试才发现,客户端发送的某个数据,服务器端没有执行read操作,导致服务器发送完数据后报错,发送RST消息.这样客户端的Socket就被强制断掉了,导致接受不到剩余数据.…