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

产品网站有哪些平武移动网站建设

产品网站有哪些,平武移动网站建设,有哪些公司做网站,荆门城乡建设局网站了解java的socket编程与Linux Socket API之间的关系一、java的网络编程1、socket原理socket通信就是通过IP和端口号将两台主机建立连接#xff0c;提供通信。主机A的应用程序要能和服务器B进行通信#xff0c;必须通过Socket建立连接#xff0c;而建立Socket连接本质上就是依…了解java的socket编程与Linux Socket API之间的关系一、java的网络编程1、socket原理socket通信就是通过IP和端口号将两台主机建立连接提供通信。主机A的应用程序要能和服务器B进行通信必须通过Socket建立连接而建立Socket连接本质上就是依靠TCP/IP协议来建立TCP连接。TCP协议是传输层协议建立TCP连接还需要用到底层的各种协议的服务其中最主要的是依靠IP协议来寻找网络中的主机。处于网络层的IP协议可以通过IP地址找到所要寻找的目标主机但是一台主机可能运行着多个应用程序我们必须指定TCP或UDP的地址(端口号)的确定端口号因此一个Socket实例唯一代表一个主机上的应用程序的通信链路。2、java socket的底层实现Java socket服务器的建立步骤如下1.创建服务器ServerSocket对象和系统要指定的端口号2.使用ServerSocket对象中的accept() 获取请求的客户端对象socket3.使用socket对象中的方法getInputStream获取网络字节输入流对象InputStream4.使用网络字节输入流对象InputStream的read方法读取客户端发送的数据5.使用socket对象中的方法getOutputStream获取网络字节输出流对象OutputStream6.使用网络字节输出流对象OutputStream中的方法write()向客户端回写数据7.释放资源关闭socket和ServerSocket底层实现主要是调用系统api具体关系如下(底层实现参考一个在csdn的大佬写的东西 https://blog.csdn.net/vipshop_fin_dev/article/details/102966081写得真的很好)Java socket客户端的建立步骤和服务器的类似从java的角度看使用了socket对象绑定服务器再通过socket对象获取网络流进行数据的读写底层实现肯定是通过jvm去调用linux底层api。以下是用Java创建client的步骤1.创建一个客户端对象socket构造方法绑定服务器的ip和端口号2.使用socket对象中的方法getOutputStream获取网络字节输出流对象OutputStream3.使用网络字节输出流对象OutputStream中的方法write()向服务器发送数据4.使用socket对象中的方法getInputStream获取网络字节输入流对象InputStream5.使用网络字节输入流对象InputStream的read方法读取服务器回写的数据6.释放资源关闭socket3、Java实现简单网络编程先实现一个服务端服务端必须先起来客户端才能访问。1 packagenet.socket;23 importjava.io.IOException;4 importjava.io.InputStream;5 importjava.io.OutputStream;6 importjava.net.ServerSocket;7 importjava.net.Socket;89 /**10 * Created by wenjun11 * tcp通信的服务器端接收客户端的请求读取客户端发送的数据给客户端回写数据12 * 表示服务器的类13 * public class ServerSocket extends Object此类实现服务器套接字14 *15 * 构造方法16 * ServerSocket(int port) 创建绑定到特定端口的服务器套接字。17 * 服务器必须明确一件事情必须指导是哪个客户端请求的服务器18 * 所以可以使用19 * Socket accept() 侦听并接受到此套接字的连接。20 *21 *29 */3031 public classTCPServer {32 public static void main(String[] args) throwsIOException {33 ServerSocket severnew ServerSocket(8888);34 Socket socketsever.accept();35 InputStream is socket.getInputStream();3637 byte[]bytesnew byte[1024];38 int len0;39 while ((lenis.read(bytes))!-1){40 System.out.println(new String(bytes,0,len));41 }4243 OutputStream os socket.getOutputStream();44 os.write(hi,client!.getBytes());454647 sever.close();48 socket.close();4950 }51 }再实现一个客户端指定ip和端口号可以访问服务端1 packagenet.socket;23 importjava.io.IOException;4 importjava.io.InputStream;5 importjava.io.OutputStream;6 importjava.net.Socket;78 /**9 * Created by wenjun10 * tcp通信的客户端向服务器发送连接请求给服务器发送数据读取服务器回写的数据11 * 表示客户端的类12 * java.net.Socket:此类实现客户端套接字(也可以就叫“套接字”)套接字是两台机器间通信的端点13 * 套接字ip端口号14 *15 * 构造方法16 * public Socket(String host,int port) 创建一个流套接字并将其连接到指定主机上的指定端口号。17 * 参数18 * String host服务器主机的名称/ip地址19 * int port服务器的端口号20 *21 * 成员方法22 * public OutputStream getOutputStream() 返回此套接字的输出流。23 * throws IOException24 *25 *26 * public InputStream getInputStream() 返回此套接字的输入流。27 * throws IOException28 *29 * void close() 关闭此套接字30 38 *39 * 注意40 * 1.客户端与服务器进行交互必须使用socket中提供的网络流不能使用自己创建的流对象41 * 2.当我们创建客户端对象socket的时候就会请求服务器和服务器进行3次握手及案例连接42 * 这时如果服务器没有启动那么就会抛出异常 ConnectException: Connection refused: connect43 * 如果服务器已经启动就可以进行交互了44 */4546 public classTCPClient {47 public static void main(String[] args) throwsIOException {4849 Socket socketnew Socket(127.0.0.1,8888);50 OutputStream os socket.getOutputStream();51 os.write(helloserver.getBytes());52 socket.shutdownOutput();5354 InputStream is socket.getInputStream();55 byte []bytesnew byte[1024];56 int len0;57 while ((lenis.read(bytes))!-1){58 System.out.println(new String(bytes,0,len));5960 }61 socket.close();6263 }6465 }实验结果服务器收到客户端访问,输入的数据客户端收到服务器的回写数据二、linux socket的api接口linux提供socket的API函数很丰富包括了sockket的创建和关闭、连接的建立和释放、数据的收发等接接口socket 创建套接字connect 建立连接bind 绑定本机端口listen 监听端口accept 接受连接recv, recvfrom 数据接收send, sendto 数据发送close, shutdown 关闭套接字三、总结这次实验我用Java实现了socket连接但是这都是很基础的东西而对于linux底层的tcp实现原理还只是看了大佬的博客了解了理论上的原理没能自己代码实现。在这次的实验中也确实学到了很多东西linux系统提供丰富的apijava的net包封装了对系统接口的调用javac将java文件编译为.class文件在jvm上运行的时候jvm会请求系统调用调用系统的socketAPI进行socket的建立、绑定再进行进一步的通讯。之前用这个的时候确实没有想那么多所以以后的学习中应该更加注意底层原理的学习不能只是知道怎么用而不清楚实现的原理。1、api接口[1,Api jiēkǒu]1, api Interface
http://www.pierceye.com/news/441669/

相关文章:

  • 群辉服务器做网站营销自动化系统
  • 公司设计网站推荐做网站用注册公司吗
  • 机房建设 网站建设工程标准在线网站
  • 网站建设是属于软件开发费吗Wordpress有用么
  • 上海 网站备案商务网站规划与建设课程设计
  • 网站 首页 栏目 内容网业设计
  • 用vs与dw做网站什么做电子书下载网站好
  • 网站建设发布教程网页设计师收费标准
  • 徐州哪里做网站好农林网站建设公司
  • 可以做直播卖产品的网站专业产品画册设计公司
  • wp网站开发个人小程序开发流程
  • 网站制作报价大约重庆招聘网站建设
  • 网站开发 资质网站开发价格评估
  • 泰州网站关键词优化谷歌建站
  • 门户网站风格企业网站建设的成本
  • 一站式外贸综合服务平台社区网站推广方案
  • 宁波网络公司网站建设项目怎么破解别人做的付费网站
  • 做创意小视频的网站centos 7.4 wordpress
  • 免费建立单位的网站适合个人做的跨境电商
  • 沈阳军成网站建设17网站一起做网店
  • 哪些cms做同城网站比较好上海建设工程协会网站
  • 潍坊企业自助建站系统seo博客网站
  • 做啤酒最全的网站鱼台县建设局网站
  • 网站开发转行进入衍生领域wordpress qaengine
  • 公司内部网站模板快速建网站的软件
  • 被骗去国外做网站网站推广网站的运营推广方案
  • 北京汽车业务网站开发公司桂林旅游攻略必去景点
  • 个人网站开发是学什么语言wordpress打造cms
  • 网站建设与维护的重要性岳阳建设厅网站
  • 惠州网站开发公司wordpress简单