网络编程

1:网络编程:

1) 网络编程就是I/O流,集合,多线程以及(UDP/TCP编程)的综合

2) 三要素: ip,端口,协议

ip:第一个为网络号段,后三个为主机号段,一般是政府机构,256*256*256

前两个为网络号段,后两个为主机号段,一般是学校,256*256

前三个为网络号段,最后一个为主机号段,一般是私人,256

端口:一般是:0~65536,其中0~1024为系统使用

UDP协议: 不安全,效率高,最大为64kb,不需要建立连接

TCP协议: 安全.效率低,文件的大小没有限制,需要客户端和服务器端建立通道连接


2:Socket通信:

1) UDP:发送端:

DatagramSocket ds = new DatagramSocket();

//这个是数据包,里面是数据,以及发送到的IP和端口

DatagramPacket dp = new DatagramPacket(bys,bys.length,Address,port); 

ds.send(dp);

ds.close();

接收端:

//需要监听一个端口,来接受文件

DatagramSocket ds = new DatagramSocket(port);

//创建一个byte[] 来保存数据

byte[ ] bys = new byte[1024];

DatagramPacket dp = new DatagramPacket(bys,bys.length);

//这是一个阻塞的方法,一直在等待发送端的发送

ds.receive(dp);

String message = new String(dp.getData(),0,dp.getLength());

ds.close();

2) TCP: 客户端:

Socket s = new Socket(Address,port);

//通过i/o流来进行数据的传输

OutputStream os = s.getOutputStream();

os.write("hello".getBytes());

s.close();

服务器端:

ServerSocket ss = new ServerSocket(port);

//这是一个阻塞的方法,一直等待客户端的连接

Socket s = ss.accept();

InputStream is = s.getInputStream();

byte[ ] bys = new byte[1024];

is.read(bys);

s.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值