// 像如下程序,只能顺序一个一个的处理客户端连接,如果同时有3个客户端发起请求
// 此时会处理一个,将剩余两个放到缓冲队列,如果同时有4个客户端发起请求,则会有
// 一个客户端连接失败
@Test
public void testServerBio(){
try(ServerSocket serverSocket = new ServerSocket(8080,2);){
while(true){
Socket socket = serverSocket.accept();
SocketAddress remoteSocketAddress = socket.getRemoteSocketAddress();
System.out.println(remoteSocketAddress);
InputStream in = socket.getInputStream();
int recvSize = 0;
byte[] recvBuf = new byte[1024];
while((recvSize = in.read(recvBuf)) != -1){
byte[] readBuf = new byte[recvSize];
System.arraycopy(recvBuf,0,readBuf,0,recvSize);
CharsetDecoder decoder = StandardCharsets.UTF_8.newDecoder();
System.out.println("recv:" + decoder.decode(ByteBuffer.wrap(readBuf)) );
}
}
}catch (IOException e){
e.printStackTrace();
}
}
ServerSocket 的 backlog 表示最大缓冲队列
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 文、乔小乐 第二篇,付费就是捡便宜 相信很多人都有类似的感受,在网上想看一部最新的电影,系统提示此片为付费电影,于...
- 月收入3000和30000的女人,原来就只差这点 别跟我说,女人收入多少都没关紧要,只要男人有高收入的说话,请记住...