Tcp/Ip网络要点二(简易客户端编写)

 首先,在开始记录学习的过程钱,再次声明一下:网络数据传输的原理其实与文件->IO,IO->文件的原理是一样的,计算机科学是人造科学,并非自然科学,一切的设计原理都是基于人类目前的认知范围。合理的设计模式会被不断的复用。

作为一个客户端应用程序,必须满足的2个最基本的功能是接收来自网咯的数据,向网络输出数据。

1、客户端接收网络数据。

byte[] buffer=new byte[1024];

Socket readSsocket=null;//网络数据套接字

InputStream instr=null;//标准输入输出流

 

readSocket =new Socker(args[0],Integer.parInt(args[1]));//此处的两个参数分别对应域名和端口

instr= readSocket.getInputStream();

int n=instr.read(buffer);

  System.out.write(buffer,0,n);


对比我上一篇写的博客,可以发现,接收网络数据,其实就跟接收来自文件的数据是一样的,不同的是:

1、多了一个套接字,并利用套接字连接上相应的服务器。

2、将套接字的数据源变换成标准输入输出的数据源。

而后的工作都是将数据读到buffer中,在write至显示器

2、客户端向网络服务器输出数据

 此处我们要实现的功能是:1、连接网络服务器并发送数据

 2 、接收服务器发送来来的数据,原样输出至屏幕

byte[] buffer=new byte[1024];

Socket wrSocket=null;

InputStream instr=null;

OutputStream outstr=null;


wrSocket=new Socket(args[0],Integer.parseInt(args[1]));

instr=wrSocket.getInputStream();//绑定输出源

outstr=wrSocket.getOutputStream();//绑定输入源


int n=System.in.read(buffer);//获取键盘输入

System.out.write(buffer,0,n);

outstr.write(buffer,0,n);//将键盘输入写到输出源


int n=instr.read(buffer);//获取网络输入

System.out.write(buffer,0,n);//将网络输入显示到显示屏

总结:通过以上2个简单客户端功能例子,能够快速明白客户端的运行机制。

利用Socket绑定数据的输入输出,再与标准输入输出进行连接即可。其实很简单,不是么?


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值