java tcp ip通信_Java中Socket实现TCP/IP协议的通信

TCP/IP(Transmission Control Protocol/Internet Protocol)即传输控制协议/网间协议,是一个工业标准的协议集,它是为广域网(WANs)设计的。

Java中的网络支持

针对网络通信的不同层次,Java提供了不同的API,其提供的网络功能有四大类:

①InetAddress:用于标识网络上的硬件资源,主要是IP地址

②URL:统一资源定位符,通过URL可以直接读取或写入网络上的数据

③Sockets:使用TCP协议实现的网络通信Socket相关的类

④Datagram:使用UDP协议,将数据保存在用户数据报中,通过网络进行通信。

TCP编程:

TCP协议是面向连接的、可靠的、有序的、以字节流的方式发送数据,通过三次握手方式建立连接,形成传输数据的通道,在连接中进行大量数据的传输

Java中基于TCP协议实现网络通信的类有客户端的Socket类和服务器端的ServerSocket类

21683b7172fe?from=singlemessage

740688-20150907234728090-211300057.jpg

socket实现通信包括服务端和客户端

服务器端:

① 创建ServerSocket对象,绑定监听端口,端口一般选择1024-65535的某个端口

② 通过accept()方法监听客户端请求

③ 连接建立后,通过输入流读取客户端发送的请求信息

④ 通过输出流向客户端发送相应信息

⑤ 关闭相关资源

public class server {

public static void main(String[] args){

try {

//1.创建一个serverSocket,绑定监听端口

ServerSocket serverSocket=new ServerSocket(8888);

//2.调用accept()方法开始监听,等待客户端连接

System.out.println("服务器即将启动 等待客户端连接");

Socket socket=serverSocket.accept();

//3.获取输入流,用来读取客户端发送的信息

InputStream is=socket.getInputStream();//字节输入流;

InputStreamReader isr=new InputStreamReader(is);//将字节输入流转换为字符输入流

BufferedReader br=new BufferedReader(isr);//为输入流添加缓冲

//循环读取客户端提交的信息

String info=null;

while ((info=br.readLine())!=null){//循环读取

System.ou

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值