网络编程

1,网络编程中的网络要素:

三个都进行注解。

ip地址:每一个主机的标识。

端口:数据的传输入口和出口。0-65535  0-1024属系统端口。

协议:通讯的规则。UDPTCP

2,tcpudp的特点: 

TCP:面向连接,安全。连接是通过三次握手完成的。可靠连接。分客户端和服务端。

UDP:面向无连接,速度快,不安全。不可靠连接。对资源消耗较少。

因为不需要建立连接,通过数据报来完成数据的封装,并通过socket服务的send方法进行发送。分发送端和接收端。比如:QQ聊天。

3,UDP的发送端和客户端建立的思路:

举例说明?

聊天程序。

发送端思路:

(1)建立udpsocket服务

(2)将要发送的数据变成字节数组,并封装到数据包中并明确目的地址和端口

(3)通过socket服务的send方法将数据包发送出去

(4)视情况而定关闭资源

DatagramSocket ds = new DatagramSocket(10001);

Byte[] arr = "string data".getBytes();

DatagramPacket dp = new DatagramPacket(arr,arr.length,InetAddress.getName("192.168.1.100"),10001);

ds.send(dp);

ds.close();

接收端思路

(1)建立UDPsocket服务,因为是接收端,要明确哪个端口进来的数据是由该应用程序所处理的。所以要监听一个端口

(2)该端口进来的数据内容比较多,需要分别处理,所以方便的方式就是将其封装成数据包对象

(3)通过socket服务的receive方法将收到的数据存入数据包中

(4)对数据包的数据进行获取,进行基本的打印

(5)视情况而定,关闭资源

DatagramSocket ds = new DatagramSocket(10001);

Byte[] buf = new byte[1024];

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

Ds.receive(dp);

String ip = dp.getAddress().getHostAddress();

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

int port = dp.getPort();

Ds.close();

4,TCP传输使用的对象和原理。

Tcp协议在java中所对应的对象是:socketServerSocket

客户端:

(1)建立客户端的socket服务,通常需要在初始化的时候明确服务器的地址和端口,因为要建立连接

(2)当连接成功,就可以使用socketIO流中的输入和输出流对数据进行操作

(3)关闭流

Socket s = new Socket("192.168.1.100",7777);

OutputStream out = s.getOutputStream();

PrintWriter pw = new PrintWriter(out,true);

服务端:

(1)建立服务端的socket服务,需要监听一个端口

(2)通过accept方法获取每一个连接过来的socket对象,通过这些socket对象自己的 IO流与对应的客户端进行通讯

(3)关闭客户端对象,节约服务端资源

(4)视情况而定,关闭服务端

ServerSocket ss =new Serversocket(10001);

Socket s = ss.accept();

InputStream in = s.getInputStream();

BufferedReader bufIn = new BufferedReader(new InputStreamReader(in));

String line = bufIn.readLine();

S.close();

Ss.close();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值