java 网络编程 框架_java网络编程Socket和netty框架

现在java的技术栈一般是spring+tomcat,好像不关网络编程什么事儿。确实,由于网络编程和具体的业务相对独立,所以网络被做成框架了,我们只要使用就好,但是作为要靠技术吃饭的程序员,还是有必要了解网络编程的。

java中设计网络编程的包有java.net和java.nio。其总的类有:

Socket是TCP客户端API,通常用于连接远程主机

ServerSocket是TCP服务端API,通常接受源于客户端套接字的连接

DatagramSocket是UDP端点API,用于发送和接受数据包

MulticastSocket是DatagramSocket的子类,在处理多播组时使用

具体怎么使用呢?无非就是服务端和客户端的通信,socket和serverSocket。拿到socket对象,就可以获得输入流和输出流,分别对应了请求和返回的报文。注意这时,使用get,post等方法是无效的,此时还未涉及到http协议。

写了一个简单的client和server端,然后测试了一些特性,对于Socket通信比较熟悉了。但是Socket通信的一个特点就是read方法和write方法是阻塞的,想要同时响应多个请求,只能使用多线程操作。于是就有了SocketChannel,非阻塞的socket,read,write,connect都是非阻塞的,这个时候就要考虑同步的问题了。

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值