黑马程序员技术交流社区
标题:
【石家庄校区】就业班_JavaSE_day12_网络编程
[打印本页]
作者:
风中的消逝
时间:
2018-4-23 14:58
标题:
【石家庄校区】就业班_JavaSE_day12_网络编程
本帖最后由 小石姐姐 于 2018-4-24 17:11 编辑
就业班_JavaSE_day12_网络编程
网络编程三要素
一 传输协议 TCP和UDP
UDP (无连接,数据大小限制64K ,不安全,丢包不重发,应用于实时要求高的场景)
发送端
DatagramSocket对象创建 无参数构造 new DatagramSocket()
DatagramPacket对象创建 new DatagramPacket(byte[] bys, int length, InetAddress ip, int port)
DatagramSocket.send(DatagramPacket)
DatagramSocket.close()
接收端
DatagramSocket对象创建 带参数构造 new DatagramSocket(int port)
DatagramPacket对象创建 new DatagramPacket(byte[] bys, int length) bys是空数组用来接受。
DatagramSocket.receive(DatagramPacket) 启动接受,该方法阻塞。
DatagramSocket.close()
DatagramPacket类常用方法
int getLength() 返回接受的数据长度。
byte[] getData() 返回接受的data数据
InetAddress getAddress() 返回发送方IP地址
TCP(有链接,数据大小无限制,安全,丢包有重发机制)
服务器端
ServerSocket对象创建 new Serve日Socket(int port)
ServerSocket.accept() 启动监听,该方法阻塞。客户端连接后,返回一个Socket对象来与客户端交互。
客户端
Socket对象创建 new Socket(String 服务器ip , int port)
Socket常用方法:
getOutputStream()
getInputStream()
注意 readline接受一行,必须换行,要不一直阻塞等待。写bufferedwriter是一定要记得换行。
可以用printwriter代替 println 该方法自动换行了。
socket.close()方法自带了关闭输入输出流的功能,所以不用单独关闭IO流。
二 IP (用InetAddress类的对象表示)
获得本地IP地址对象 InetAddress.getLocalHost()
获得指定IP地址的对象 InetAddress.getByName("192.168.15.34")
创建IP对象后 有二个常用方法:
ip.getHostName(); 获取到主机名。
ip.getHostAddress();获取到IP地址。 192.168.15.34
三 端口 (0-65535)
端口用来区分不同的应用,一个应用可能占用一个或多个端口。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2