java基础21(Javaoo16)——网络编程

本章目标:
1.理解对比OSI模型和TCP/IP 模型
2.理解套接字
3.掌握TCP套接字编程 和 UDP套接字编程
4.熟悉URL类和URLConnection类
5.熟悉InetAddress类
6.熟悉URLEncoder类和URLDecoder类
ISO - -- --国际标准化组织
----开放系统参考模型OSI
协议:是对通讯双方收发信息的语义和语法的规范。
--------------------------------------------------------------------------------------------------------
一、OSI 协议(七层模型,理论上的标准)
二、TCP/IP协议(四层模型,实际用的):
1.应用层 -----------------------OSI(应用层,表示层,会话层)
HTTP/SOAP/FTP/SMTP
2.传输层------------------------OSI(传输层)
TCP/UDP:
区别:TCP是一个安全协议,有个“三次握手”的机制。效率稍微低。
UDP是一个不安全,不保证是否收到。但是速度很快。会有丢包的情况出现。
(一些在线播放在使用)
3.网络互联层--------------------OSI(网络层)
IP(是协议):
主要作用是寻址使用
4.网络接口层--------------------OSI(数据链路层,物理层)


TCP/IP协议簇:HTTP/FTP/SMTP
------------------------------------------------------------------------------------------------------
端口:用于实现程序间的通信。(虚拟概念)
0 到 65535
1.前1024个不准用,是系统预留的。
2.一些常用的也不能用
--------------------------------------------------------------------------------------------------------
----客户端:发送请求的一方称为客户端
----服务器:接收请求并给出回应的一方称为服务器
-------------------------------------------------------------------------------------------------------
套接字:
1.是Internet 通信的端点。
2.与主机地址和端口地址相关联
3.客户端和服务器通过套接字建立连接和进行通信。
---------类:Socket
网络编程 = 套接字编程 = Socket 编程
--------------------------------------------------------------------------------------------------------
代码:
1.获取信息。
2.Socket代码:
发送端:
Socket sc = new Socket(String arg , int arg1);
String 是给对方机器的IP地址,int是对方监听的端口号。
------- 这个也是需要进入finally 关闭的。
sc.getOutputStream( msg . getBytes()) ;
-----------------------------------------------
OutputStreamWriter: 在输出的时候进行转换
InputStreamReader:在输入的时候进行转换
-----------------------------------------------
=================================================
Socket sc = null ;
BufferedWriter bw = null ;
try{
sc = new Socket("127.0.0.1",9527);
bw = new BufferedWriter(new OutputStreamWriter (sc.getOutputStream()));
bw.write(msg);
bw.flush();
}
……………………

----------------------------------------------------------------------------------------------
服务端:
ServerSocker ss = null
Socket sc = null;
BufferedReader br= null;
try{
ss = new ServerSocket(9527);
sc =ss.accept(); // 就开始监听,程序就阻塞在这里不动,直到有消息发送
过来。
br = new BufferedReader(new InputStreamReader(sc.getInputStream()));
String msg = br.readLine();

}
………………
}finally{
三根管道都要关闭
}


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值