首页 > 编程语言 >网络编程

网络编程

时间:2023-03-23 21:22:49浏览次数:29  
标签:ip 编程 网络 服务端 创建 数据包 端口号 客户端

网络编程

1.什么是网络编程

在网络通信协议下,不同计算机上运行的程序,可以进行数据传输

2.网络通信的两大模式(C/S和B/S)

  • 客户端服务器模式(C/S)

优点:

界面炫酷,可以使用本地的内存和显卡,
        降低服务器的负担
        功能强大

缺点:

       占客户端资源
        扩展,升级不方便.

  • 浏览器服务器模式(B/S)

优点:

分布式能力强,维护升级方便

缺点:

服务器压力大

3.网络编程三要素

DOS常用命令

ipconfig(查看本机ip)

ping IP地址:检查网络是否连通

  • IP地址

设备在网络中的地址,是唯一的标识

IPv4用4字节数据保存ip

Ipv6用16字节数据保存ip

InetAdress

1.InetAdress类表示ip地址

2.常用方法

static inetAddress getByName(String host)用来获取指定ip地址的对象

getHostName()获取ip地址的主机名

getHostAddress()获取ip地址的字符串形式

 

  • 端口

应用程序在设备中的唯一标识

端口号

用两个字节表示(0-65535)

普通的应用程序需要使用1024以上的端口号

如果端口号被两个程序使用用,会导致端口冲突

  • 协议

定义通讯的规则(udp,tcp)

udp协议

特点:

1.面向无连接(不安全,效率高)

2.打包数据发送

场景:视频会议,语音会议

构造方法

DatagramSocket()

DatagramPacket(byte[] buf,int len,InetAddress add,int port)创建数据包,并指明长度和发送到的主机地址和端口

常用方法

 send(DatagramPacket p)发送数据包

close()关闭Socket

receive(DatagramPacket p)接收数据包


运作流程:

发送端:

  • 创建发送端的Socket对象(DatagramSocket)

  • 创建数据,并把数据打包

  • 调用DatagramSocket对象的方法发送数据(send)

  • 关闭发送端


接收端:

  • 创建接收端的Socket对象(DatagramSocket)

  • 创建一个数据包,用于接收数据(只用指明长度)

  • 调用DatagramSocket对象的方法接收数据(receive)

  • 解析数据包,并把数据在控制台显示

  • 关闭接收端

相关方法

byte[] getData()返回数据缓冲区

int getLength()返回数据长度

tcp协议

特点:

1.面向连接(安全)

2.形成数据传输通道

3.发送大量数据

场景:传输文件

tpc协议的三次握手和4次挥手

用来确保连接安全

三次握手:

  • 第一次握手,客户端向服务器端发出连接请求,等待服务器确认

  • 第二次握手,服务器端向客户端回送一个响应,通知客户端收到了连接请求

  • 第三次握手,客户端再次向服务器端发送确认信息,确认连接

四次挥手:

  • 第一次挥手,客户端向服务端发出取消连接请求
  • 第二次挥手,服务端向客户端回应一个响应,表示收到
  • 第三次挥手,服务端向客户端发出确认取消信息
  • 第四次挥手,客户端向服务端发送确认信息

构造方法:

Socket(InetAddress address,int port)创建socket并指明ip(InetAdress)和端口号

Socket(String host, int port)创建socket并指明ip(字符串)和端口号

常用方法:

InputStream getInputStream()创建一个输入流

OutputStream getOutputStream()创建一个输出流

运作流程:

客户端:

  • 创建客户端socket对象与指定服务端连接
  • 获取输出流,写数据,刷新
  • 释放资源

服务端:

  • 创建服务端Serversocket对象指定端口号
  • 监听客户端连接,返回一个socket对象
  • 获取输出流,写数据,显示到控制台
  • 释放资源

 

标签:ip,编程,网络,服务端,创建,数据包,端口号,客户端
From: https://www.cnblogs.com/zlsame/p/17249496.html

相关文章