博客网站的建设流程瓯海网站建设
- 作者: 五速梦信息网
- 时间: 2026年03月21日 10:08
当前位置: 首页 > news >正文
博客网站的建设流程,瓯海网站建设,通过网络营销学到了什么,域名备案进度查询文章目录1 Socket讲解2 基于Socket的TCP编程3 客户端Socket的工作过程包含以下四个基本的步骤3.1 客户端创建Socket对象4 服务器程序的工作过程包含以下四个基本的步骤#xff1a;4.1 服务器建立ServerSocket对象5 案例实现 客户端和服务端通信5.1 代码实现5.2 实现结果6 更多…
文章目录1 Socket讲解2 基于Socket的TCP编程3 客户端Socket的工作过程包含以下四个基本的步骤3.1 客户端创建Socket对象4 服务器程序的工作过程包含以下四个基本的步骤4.1 服务器建立ServerSocket对象5 案例实现 客户端和服务端通信5.1 代码实现5.2 实现结果6 更多案例分析6.1 客户端发送信息给服务端服务端将数据显示在控制台上6.2 客户端发送文件给服务端服务端将文件保存在本地6.3 从客户端发送文件给服务端服务端保存到本地。并返回“发送成功”给客户端1 Socket讲解
利用套接字(Socket)开发网络应用程序早已被广泛的采用以至于成为事实
上的标准。
网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标
识符套接字。 通信的两端都要有Socket是两台机器间通信的端点。 网络通信其实就是Socket间的通信。 Socket允许程序把网络连接当成一个流数据在两个Socket间通过IO传输。 一般主动发起通信的应用程序属客户端等待通信请求的为服务端。 Socket分类 1、流套接字stream socket使用TCP提供可依赖的字节流服务。2、 数据报套接字datagram socket使用UDP提供“尽力而为”的数据报服务
Socket类的常用构造器 public Socket(InetAddress address,int port) 创建一个流套接字并将其连接到指定 IP 地址的指定端口号。 public Socket(String host,int port)创建一个流套接字并将其连接到指定主机上的指定端口号。
Socket类的常用方法 public InputStream getInputStream()返回此套接字的输入流。可以用于接收网络消息 public OutputStream getOutputStream()返回此套接字的输出流。可以用于发送网络消息 public InetAddress getInetAddress()此套接字连接到的远程 IP 地址如果套接字是未连接的则返回 null。 public InetAddress getLocalAddress()获取套接字绑定的本地地址。 即本端的IP地址 public int getPort()此套接字连接到的远程端口号如果尚未连接套接字则返回 0。 public int getLocalPort()返回此套接字绑定到的本地端口。 如果尚未绑定套接字则返回 -1。即本端的
端口号。
public void close()关闭此套接字。套接字被关闭后便不可在以后的网络连接中使用即无法重新连接
或重新绑定。需要创建新的套接字对象。 关闭此套接字也将会关闭该套接字的 InputStream 和
OutputStream。
public void shutdownInput()如果在套接字上调用 shutdownInput() 后从套接字输入流读取内容则流将
返回 EOF文件结束符。 即不能在从此套接字的输入流中接收任何数据。
public void shutdownOutput()禁用此套接字的输出流。对于 TCP 套接字任何以前写入的数据都将被发
送并且后跟 TCP 的正常连接终止序列。 如果在套接字上调用 shutdownOutput() 后写入套接字输出流
则该流将抛出 IOException。 即不能通过此套接字的输出流发送任何数据。
2 基于Socket的TCP编程
Java语言的基于套接字编程分为服务端编程和客户端编程其通信模型如图所示 3 客户端Socket的工作过程包含以下四个基本的步骤 创建 Socket根据指定服务端的 IP 地址或端口号构造 Socket 类对象。若服务器端响应则建立客户端到服务器的通信线路。若连接失败会出现异常。 打开连接到 Socket的输入/出流 使用 getInputStream()方法获得输入流使用
getOutputStream()方法获得输出流进行数据传输
按照一定的协议对Socket进行读写操作:通过输入流读取服务器放入线路的信息
但不能读取自己放入线路的信息通过输出流将信息写入线程。
关闭Socket:断开客户端到服务器的连接释放线路
3.1 客户端创建Socket对象 客户端程序可以使用Socket类创建对象创建的同时会自动向服务器方发起连接。Socket的构造器是 Socket(String host,int port)throws UnknownHostException,IOException向服务器(域名是host。端口号为port)发起TCP连接若成功则创建Socket对象否则抛出异常。 Socket(InetAddress address,int port)throws IOException根据InetAddress对象所表示的 IP地址以及端口号port发起连接 客户端建立socketAtClient对象的过程就是向服务器发出套接字连接请求 4 服务器程序的工作过程包含以下四个基本的步骤 调用ServerSocket(int port)创建一个服务器端套接字并绑定到指定端口上。用于监听客户端的请求。 调用 accept()监听连接请求如果客户端请求连接则接受连接返回通信套接字对象。 调用 该Socket类对象的 getOutputStream()和getInputStream ()获取输出流和输入流开始网络数据的发送和接收。 关闭ServerSocket和Socket对象客户端访问结束关闭通信套接字
4.1 服务器建立ServerSocket对象 ServerSocket 对象负责等待客户端请求建立套接字连接类似邮局某个窗口 中的业务员。也就是说服务器必须事先建立一个等待客户请求建立套接字 连接的ServerSocket对象。 所谓“接收”客户的套接字请求就是accept()方法会返回一个 Socket 对象 5 案例实现 客户端和服务端通信
基本思路
客户端和服务端建立连接发送接收数据进行通信关闭连接
具体实现的过程提示需要客户端先发送数据给服务端服务端在接收数据后发送数据给客户端然后客户端接收数据。如果客户端先接收数据后发送数据会阻塞 5.1 代码实现 import org.junit.Test;import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;/*** author zyz* version 1.0* data 2023/2/18 12:39* Description:*/
public class TCPTest4 {Testpublic void Myclient() throws IOException {//1、准备Scoket连接服务器需要指定服务器的IP地址和端口号Socket socket new Socket(127.0.0.1, 8888);//3、获取输出流用来发送数据给服务器OutputStream outputStream socket.getOutputStream();//2、获取输入流用来接收服务器发给客户端的数据InputStream inputStream socket.getInputStream();//4、通信//发送数据outputStream.write(你好我是客户端发来的数据.getBytes());outputStream.flush();socket.shutdownOutput();//会在流末写一个“流的末尾”标记对方才能读到-1否则对方的读取方法会一直阻塞//4、接收byte[] data new byte[1024];int len;while ((len inputStream.read(data)) ! -1) {System.out.println(new String(data, 0, len));}//5、关闭socket不再与服务器通信即断开与服务器的连接//socker关闭意味着InputStream和OutputStrem也关闭了socket.close();}Testpublic void MyServer() throws IOException {//1、准备一个ServerSockerServerSocket serverSocket new ServerSocket(8888);//2、监听一个客户端的连接。accept()是一个阻塞的方法如果没有客户端连接将一直等待Socket socket serverSocket.accept();System.out.println(一个客户端连接成功);//3、获取输出流用来发送数据给客户端OutputStream outputStream socket.getOutputStream();//获取输入流用来接收客户端发送给服务器的数据InputStream inputStream socket.getInputStream();//4、通信//接收数据byte[] data new byte[1024];int len;while ((leninputStream.read(data))!-1){System.out.println(new String(data,0,len));}//发送数据outputStream.write(我是服务端发来的信息.getBytes());outputStream.flush();socket.shutdownOutput();//socker关闭意味着InputStream和OutputStrem也关闭了socket.close();//6、如果不在接收任何客户端通信可以关闭ServerSockerserverSocket.close();}
}
5.2 实现结果 6 更多案例分析
6.1 客户端发送信息给服务端服务端将数据显示在控制台上
代码位置代码仓库链接
6.2 客户端发送文件给服务端服务端将文件保存在本地
代码位置代码仓库链接
6.3 从客户端发送文件给服务端服务端保存到本地。并返回“发送成功”给客户端
代码位置代码仓库链接
- 上一篇: 博客类网站源码网站建设的任务规划
- 下一篇: 博客网站登录ppt做书模板下载网站有哪些内容
相关文章
-
博客类网站源码网站建设的任务规划
博客类网站源码网站建设的任务规划
- 技术栈
- 2026年03月21日
-
博客和个人网站建设情况上海网站建设沪icp备
博客和个人网站建设情况上海网站建设沪icp备
- 技术栈
- 2026年03月21日
-
博客 建立网站深圳做网站报价
博客 建立网站深圳做网站报价
- 技术栈
- 2026年03月21日
-
博客网站登录ppt做书模板下载网站有哪些内容
博客网站登录ppt做书模板下载网站有哪些内容
- 技术栈
- 2026年03月21日
-
博客网站建设做一个网站的流程
博客网站建设做一个网站的流程
- 技术栈
- 2026年03月21日
-
博客网站开发报告新东方教育机构官网
博客网站开发报告新东方教育机构官网
- 技术栈
- 2026年03月21日






