网络编程


网络编程

1. 网络编程

1. 网络编程概述:

  • 在网络通信协议下,实现网络互连的不同计算机上运行的程序可以进行数据交换

2. 网络编程3要素

  1. IP地址
  2. 端口 (应用程序的标识)
  3. 协议 (通信双方必须同时遵守才能完成数据交换) 常见的协议由UPD协议和TCP协议

3. IP地址

  • 是网路中设备的唯一标识
  1. IP地址分为两大类:
    • IPv4 和 IPv6
  2. 常用命令
    • cmd
      • ipconfig: 查看本机的IP地址
      • Ping IP地址:检查网络是否联通
  3. 特殊IP地址
    • 127.0.0.1
      • 是回送地址,可以代表本机地址,一般用来测试使用

4. InetAddress

static InetAddress getByName(String host)   //确定主机名称的IP地址。主机名称可以是及其名称,也可以是IP地址
String getHostName()					  //获取此IP地址的主机名称
String getHostAddress()					  //获取IP地址字符串

5. 端口

  • 设备上应用程序的唯一标识

6. 协议

  • 计算机网络中,连接和通信的规则被称为网络通信协议
  • UPD协议:用户数据报协议
  • TCP协议:传输控制协议 ——> ——> ——> ”三次握手“

2. UDP 通信程序

1.

1. UPD协议是一种不可靠的网络协议,他在通信的两端各建立一个Socket对象,但这两个只是发送,接收的对象。因此基于UPD协议的通信双方而言,没有所谓的客户端和服务器概念

2. UPD发送数据

1. 创建发送端Socket对象(DatagramSocket)
	DatagramSocket()
2. 创建数据,并把数据打包  —— 要发送的数据,长度,地址,端口
	DatagramPacket(byte[] buf, int length, InetAddress address, int port)
3. 调用DatagramSocket对象发送数据
	void send(Datagrampacket p)
4. 关闭发送端
	void close()

3. UPD接收数据

1. 创建接收数据端
	DatagramSocket ds = new DatagramSocket(12345);
2. 接收数据
	byte[] bytes = new byte[1024];
	DatagramPacket dp = new DatagramPacket(byte[] buf, int length);
	ds.receive(dp);
3. 解析数据包,显示数据
	System.out.println()
4. 关闭接收端
	ds.close();

3. TCP通信程序

1. Tcp发送数据

1. 创建客户端的Socket对象(Socket)
	Socket(String host, int port)
2. 获取输出流,写数据
	OutputStream getOutputStream() 
3. 释放资源
	void close()

2. Tcp接收数据

1. 创建服务器端Socket对象(ServerSocket)
	ServerSocket(int port)
2. 监听客户端端口,返回一个Socket对象
	Socket accept()
3. 获取输入流,读数据,并把数据显示在控制台
	InputStream getInputStream()
4. 释放资源
	void close()

3.

sk.shutdownOutput(); //表示结束

4.

用线程来实现多个客户端上传服务器


文章作者: han yue
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 han yue !
评论
  目录