黑马程序员技术交流社区

标题: 【成都校区】 [打印本页]

作者: 我想吃鲜锅兔儿    时间: 2019-1-24 13:52
标题: 【成都校区】
网络编程
C/S:客户端和服务器结构
B/S:浏览器和服务器结构

网络通信协议
UDP协议:用户数据协议  消耗资源小,通信效率高
TCP协议:传输控制协议  文件无差错传输

IP地址
小黑窗口ipconfig查看IP地址
本地IP地址 127.0.0.1  localhost

端口号
80端口 网络端口
数据库  mysql:3306  orcle:1521
Tomcat服务器:8080
===============================
============================
TCP通讯程序
面向连接的通信客户端和服务器必须经过三次握手,建立逻辑连接,才能通信(安全)

Socket类 (客户端)

构造方法
public Socket(String host, int port) :创建套接字对象并将其连接到指定主机上的指定端口号。如果指 定的host是null ,则相当于指定地址为回送地址。
参数:String host:服务器主机的名称/服务器的IP地址
          int port:服务器的端口号

成员方法
1.public InputStream getInputStream() : 返回此套接字的输入流。
2.public OutputStream getOutputStream() : 返回此套接字的输出流。
3.public void close() :关闭此套接字。
4.public void shutdownOutput() : 禁用此套接字的输出流。  

实现步骤:
1.创建一个客户端对象Socket,构造方法绑定服务器的IP地址和端口号
2.使用Socket对象中的方法getOutputStream()获取网络字节输出OutputStream对象
3.使用网络字符输出流OutputStream对象中的方法write,给服务器发送数据
4.使用Socket对象中的方法 getInputStream()获取网络字节输入流getInputStream对象
5.使用网络字节输入流getInputStream对象中的方法read,读取服务器回写的数据
6.释放资源(Socket)

注意:
1.客户端和服务器端进行交互,必须使用Socket中提供的网络流,不能使用自己创建的流对象
2.当我们创建客户端对象 Socket的时候,就会去请求服务器和服务器经过3次握手建立间接通路

ServerSocket  (服务器)

构造方法
public ServerSocket(int port) :使用该构造方法在创建ServerSocket对象时,就可以将其绑定到一个指 定的端口号上,参数port就是端口号。

服务器要明确是哪个客户端请求的服务器
用accept方法获取到请求的客户端对象()Socket
成员方法
Server accept(int port) ,创建绑定到特定端口的服务器套接字

服务器实现步骤:
1.创建服务器ServerSocket对象和系统要指定的端口号
2.使用ServerSocket对象中的方法accept方法获取请求的客户端对象Socket
3.使用Socket对象中的方法getInputStream(),获取网络字节输入流getInputStream对象
4.使用网络字节输入流getInputStream对象中的方法read();读取客户端发送的数据
5.使用Socket对象中的方法getOutputStream()获取网络字节输出Ou tputStream对象
6.使用网络字节输出OutputStream对象中的方法write(),给客户端回写数据
7.释放资源(Socket,ServerSocket)





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2