JavaSE-day22

网络编程(socket)

名词:
	互联网:点对点连接
	万维网:www-world wide web
	物联网
	IP:计算机在网络中的地址
	端口:软件在计算机中的地址
	协议:计算机与计算机交流定的规则

IP

计算机在互联网中的地址
	分类
		IPV4:
			取值:0~255.0~255.0~255.0~255
			注意:0,1.255有特殊含义,不要使用
		IPV6:
如何查看自己电脑的IP地址?
	在doc命令框中输入ipconfig
有哪些命令?
	ping对方的ip
Java中对应的类  InetAdress
	static InetAdress getLocalHost();	获取本机地址
	static InetAdress  getByName();	通过指定的ip或设备名,寻找指定的计算机地址
	static InetAdress  getAllByName();获取指定的ip,设备名,,网址对应的所有地址
	string getHostAdress();	获取调用该方法的对象中的ip地址
	String getHostName();	获取调用该方法的对象中的设备名称
	特殊ip:127.0.0.1(localhost)	表示本机的ip

端口

软件在计算机中的地址
	取值:0~65535
	注意:一般0~2048被系统调用

协议

OSI协议
	7层架构,但是因为过于理想化也比较繁琐,所以没有实现,只存在理论中
		应用层
		表示层
		会话层
		传输层
		网络层
		数据链路层
		物理层
TCP协议
	面向有连接
	特点:三次握手,四次挥手
	三次握手
		1、封装对方所在的地址
		2、判断连接是否成功
		3、沟通
	四次握手
		1、封装结束
		2、连接完成
		3、沟通结束
		4、断开
	编程思想
		服务端
			1、创建服务器端口socket
			2、等待客户端连接
			3、获取客户端在服务器的映射
			4、通过客户端映射获取输入流和输出流
		客户端
			1、创建客户端端口socket
			2、连接服务器
			3、获取客户端的输入流和输出流

TCP

让客户端给服务器发送一条消息
	服务器
		1、创建服务器端口socket
		2、等待客户端连接,并获取客户端映射
		3、通过客户端映射获取输入流
		4、通过输入流接收客户端发送的信息
		5、关流
		6、关闭客户端映射
		7、关闭服务端
	客户端
		1、创建客户端端口
		2、获取客户端输出流
		3、使用输出流输出数据给服务端
		4、冲刷
		5、关流
		6、关闭客户端

让客户端给服务器发送一条消息,并且服务器给客户端回馈一个消息
	服务端
		1、创建服务器端口socket
		2、等待客户端连接,并获取客户端映射
		3、通过客户端映射获取输入流
		4、通过输入流接收客户端发送的信息
		5、通过客户端映射获取输出流
		6、通过输出流输出给客户回馈的信息
		7、冲刷
		8、关闭输出流,关闭输入流
		9、关闭客户端映射
		10、关闭服务端
	客户端
		1、创建客户端端口
		2、获取客户端输出流
		3、使用输出流输出数据给服务端
		4、获取客户端输入流
		5、使用输入流接收服务端反馈回来的信息
		6、冲刷
		7、关闭输入流,关闭输出流
		8、关闭客户端
让客户端与服务器无限制聊天
	服务器
		1,创建服务器的Socket
		2,等待客户端连接,并获取客户端映射
		3,开启接收线程
			如果接收到信息是886,结束客户端映射
		4,开启发送线程
	客户端
		1,创建客户端的Socket
		2,开启接收线程
		3,开启发送线程

UDP

	面向无连接
	特点:
		每次传输数据的一部分,但是不考虑对方是否接收到
	编程思想
		接收端
			1、创建一个接收端的Socket
			2、准备一个数据包,用来接收数据
			3、接收数据
			4、获取数据包中的数据
			5、获取数据包中的数据长度
			6、打印输出
			7、关闭资源
		发送端
			1、创建一个发送端的Socket
			2、准备要发送的数据
			3、准备发送的数据包
			4、发送数据

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值