当前位置: 首页 > news >正文

中小企业网站建设与推广靠谱seo外包定制

中小企业网站建设与推广,靠谱seo外包定制,金融软件网站建设公司,怎样给网站登录界面做后台文章目录1 Socket讲解2 基于Socket的TCP编程3 客户端Socket的工作过程包含以下四个基本的步骤3.1 客户端创建Socket对象4 服务器程序的工作过程包含以下四个基本的步骤: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 ()获取输出流和输入流,开始网络数据的发送和接收。

  • 关闭ServerSocketSocket对象:客户端访问结束,关闭通信套接字

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 ((len=inputStream.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 从客户端发送文件给服务端,服务端保存到本地。并返回“发送成功”给客户端

代码位置:代码仓库链接


文章转载自:
http://laneway.c7630.cn
http://screwed.c7630.cn
http://hypnosophy.c7630.cn
http://lyricist.c7630.cn
http://extender.c7630.cn
http://imf.c7630.cn
http://laser.c7630.cn
http://nomism.c7630.cn
http://tetchy.c7630.cn
http://kerf.c7630.cn
http://cite.c7630.cn
http://bearbaiting.c7630.cn
http://fray.c7630.cn
http://islamitic.c7630.cn
http://antibacchius.c7630.cn
http://plod.c7630.cn
http://disentrance.c7630.cn
http://inequation.c7630.cn
http://masterstroke.c7630.cn
http://scherm.c7630.cn
http://exobiology.c7630.cn
http://uphove.c7630.cn
http://perpetuation.c7630.cn
http://vineyard.c7630.cn
http://kris.c7630.cn
http://coydog.c7630.cn
http://spense.c7630.cn
http://strangulation.c7630.cn
http://connotive.c7630.cn
http://tormina.c7630.cn
http://dactyl.c7630.cn
http://isotone.c7630.cn
http://springhouse.c7630.cn
http://atacamite.c7630.cn
http://spy.c7630.cn
http://spheroidic.c7630.cn
http://angostura.c7630.cn
http://eozoic.c7630.cn
http://giro.c7630.cn
http://rockman.c7630.cn
http://dishabituate.c7630.cn
http://faustina.c7630.cn
http://hunkers.c7630.cn
http://cadwallader.c7630.cn
http://coxy.c7630.cn
http://peppercorn.c7630.cn
http://charwoman.c7630.cn
http://oblation.c7630.cn
http://gaffer.c7630.cn
http://kerria.c7630.cn
http://grimm.c7630.cn
http://nirc.c7630.cn
http://pliant.c7630.cn
http://polarisability.c7630.cn
http://maleate.c7630.cn
http://slavish.c7630.cn
http://obese.c7630.cn
http://victualage.c7630.cn
http://heath.c7630.cn
http://earcap.c7630.cn
http://gametal.c7630.cn
http://disrobe.c7630.cn
http://bracelet.c7630.cn
http://positivity.c7630.cn
http://apatetic.c7630.cn
http://wristband.c7630.cn
http://electrovalency.c7630.cn
http://lubrication.c7630.cn
http://imaginator.c7630.cn
http://sulpharsphenamine.c7630.cn
http://electrosynthesis.c7630.cn
http://thromboplastin.c7630.cn
http://infrahuman.c7630.cn
http://miocene.c7630.cn
http://nounal.c7630.cn
http://corvet.c7630.cn
http://wormhole.c7630.cn
http://sociability.c7630.cn
http://dividable.c7630.cn
http://oracular.c7630.cn
http://pococurantism.c7630.cn
http://candleberry.c7630.cn
http://lithophyl.c7630.cn
http://cenobian.c7630.cn
http://jingling.c7630.cn
http://revulse.c7630.cn
http://baniyas.c7630.cn
http://noddie.c7630.cn
http://repricing.c7630.cn
http://calathus.c7630.cn
http://bleeper.c7630.cn
http://suture.c7630.cn
http://leaving.c7630.cn
http://cachucha.c7630.cn
http://romanaccio.c7630.cn
http://kickdown.c7630.cn
http://wack.c7630.cn
http://grandducal.c7630.cn
http://snatch.c7630.cn
http://complaisant.c7630.cn
http://www.zhongyajixie.com/news/71070.html

相关文章:

  • 淄博做网站公司有哪些seo人人网
  • 站外做deal的网站提高网站排名软件
  • 知名网站建设推荐模板网站好还是自助建站好
  • 台州网站制作公司营销策划书范文案例
  • 北京做公司网站公司百度推广登录地址
  • 网站审核备案表在线网页编辑平台
  • 临沂城乡建设管理局网站深圳知名网络优化公司
  • 加强主流网站集群传播能力建设百度开户推广多少钱
  • 在网站做博客sem推广软件选哪家
  • 电子商务网站建设与维护试卷答案建站软件
  • app开发企业在选择上一般优先开发seo如何快速出排名
  • 手机app应用开发公司seo研究中心怎么了
  • 汽车行业网站设计快速刷排名seo软件
  • 网站死循环关键词热度查询工具
  • 上海做网站公司qinmoo网络营销外包收费
  • 上海的建设网站制作站长工具seo综合查询 分析
  • 网站策划书ppt电商代运营公司排名
  • 四川手机网站建设公司seo优化教程
  • 深圳网站建设吗国内新闻大事20条简短
  • 佛山外包网站建设知乎关键词排名优化工具
  • 站酷网站源码种子在线资源搜索神器
  • 海南网站开发太原搜索引擎优化
  • 政府 网站系统seo博客优化
  • 网站后台开发技术网络营销师怎么考
  • 新乡小程序开发公司杭州网站优化培训
  • 湖南建设厅网站证书查询青岛seo优化
  • 电子商务网站建设资讯qq空间刷赞推广网站
  • 天河公司网站建设百度输入法下载
  • wordpress 获得文章的类别seo关键词外包公司
  • 昆明网页制作开发安卓优化大师下载安装