java 网络协议_Java—网络连接协议

一、TCP协议

78471fa70e25f67fa62ab4b42c263079.png

f26e8ac9572199d4bebe3db40a03021b.png

205247e7cadb5310a929f9107a4c2578.png

68b5ec0557f1b0b76d75de571df5f1c9.png

d096ebeb6c81b0b6047b6d7900b3a2da.png

注:一般给对方发送IP地址,一般是为公网IP(因为有可能不在同个私网/局域网);若确定在同个私网中,则可以发送私网IP地址

二、HTTP协议

d2da81c7af2e77c9f4e985f0f9722396.png

b0b2c5efb066576cab4d997e60cc1a31.png

http协议的原理(通过socket来封装请求和响应内容)

public class HttpServer {

public static void main(String[] args) throws IOException{

ServerSocket serverSocket = new ServerSocket(8888);

//一直监听,直到受到停止的命令

while (true) {

Socket socket = null;

try {

//如果没有请求,会一直hold在这里等待,有客户端请求的时候才会继续往下执行

socket = serverSocket.accept();

//使用多线程技术优化(线程池)

// log

BufferedReader bufferedReader = new BufferedReader(

//获取输入流(请求)

new InputStreamReader(socket.getInputStream()));

StringBuilder stringBuilder = new StringBuilder();

String line = null;

while ((line = bufferedReader.readLine()) != null

//得到请求的内容,注意这里作两个判断非空和""都要,只判断null会有问题

) {

System.out.println(line);

stringBuilder.append(line).append("
");

}

String result = stringBuilder.toString();

// System.out.println(result);

// echo

//这里第二个参数表示自动刷新缓存

PrintWriter printWriter = new PrintWriter(

socket.getOutputStream(), true);

printWriter.print("HTTP/1.1 200 OK \r\n");

printWriter.print("Content-Type:text/html;charset=utf-8 \r\n");

printWriter.print("\r\n");

printWriter.print("

你刚才发送的请求数据是:
\r\n");

printWriter.write(result);//将日志输出到浏览器

printWriter.print(" \r\n");

// release

printWriter.close();

bufferedReader.close();

socket.close();

} catch (IOException e) {

e.printStackTrace();

if(serverSocket != null) {

serverSocket.close();

}

}

}

}

}

socket:阻塞

nio:非阻塞

三、并发量的相关处理

a2c4334164229071a6398bd5480140df.png

四、常见的网络攻击

a5b23154f95a59221a946cd7891c708f.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值