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

泉州建设工程开标网站青岛网页设计学校

泉州建设工程开标网站,青岛网页设计学校,江门专业做网站,浙江网页设计目录 一、认识相关API 1#xff09;ServerSocket 2#xff09;Socket 二、TCP字节流套接字通信模型概述 三、回显客户端-服务器 1#xff09;服务器代码 2#xff09;客户端代码 一、认识相关API 1#xff09;ServerSocket ServerSocket 常用构造方法ServerSocke…目录 一、认识相关API 1ServerSocket 2Socket 二、TCP字节流套接字通信模型概述 三、回显客户端-服务器 1服务器代码 2客户端代码 一、认识相关API 1ServerSocket ServerSocket 常用构造方法ServerSocket(int port)创建使用TCP协议的Scoket套接字绑定本机指定端口通常用于服务器。 ServerSocket 常用方法Socket accept()开始监听指定端口端口在创建时绑定。没有客户端连接时就阻塞有客户端连接就返回一个服务端的Socket对象并基于该Socket建立与客户端的连接。void close()关闭ServerSocket套接字。 2Socket Socket 常用构造方法Socket(String host, int port)创建一个客户端流套接字Socket并与对应的主机上的对应端口进程建立连接。 Socket 常用方法InetAddress getInetAddress()返回套接字连接的对端地址。int getPort()返回套接字连接的对端端口。InetAddress getLocalAddress()返回套接字连接的本地地址。int getLocalPort()返回套接字连接的本地端口。InputStream getInputStream()返回该套接字的输入流。OutputStream getOutputStream()返回该套接字的输出流。void close()关闭Socket套接字。 二、TCP字节流套接字通信模型概述 TCP协议具有有连接面向字节流的特征。在通信之初通信双方会先建立连接并保存对端信息。通信连接的建立由系统内核完成不需要代码干预。TCP通信使用ServerSocket类在服务端创建TCPSocket并获取与客户端的连接。使用Socket类分别在客户端和服务端保存对端信息并用于与对端的数据交互。TCP通信流程服务端客户端建立连接 - 客户端构造请求-发出请求 - 服务器接收请求-解析请求-处理请求-构造响应-返回响应-客户端接收响应-解析响应-处理响应 三、回显客户端-服务器 1服务器代码 public class TCP_Echo_Server {private ServerSocket serverSocket null;public TCP_Echo_Server(int port) throws IOException {serverSocket new ServerSocket(port);}public void start() throws IOException {System.out.println(服务器启动);//创建线程池ExecutorService executorService Executors.newCachedThreadPool();while (true){//获得连接Socket socket serverSocket.accept();//添加任务每获得一个连接就使用一个线程去执行accpetConnection方法executorService.submit(new Runnable() {Overridepublic void run() {accpetConnection(socket);}});}}private void accpetConnection(Socket socket){System.out.printf(客户端上线:[%s,%d]\n,socket.getInetAddress(),socket.getPort());//TCP传输的是字节流创建两个流对象用于获得Socket的输入流和输出流try(InputStream is socket.getInputStream();OutputStream os socket.getOutputStream()){//使用Scanner在流中读取并翻译字节Scanner sc new Scanner(is);//用于将获取到的输出流封装成PrintWriterPrintWriter printWriter new PrintWriter(os);while (true){//判断如果没有后续数据了就退出if (!sc.hasNext()){System.out.printf(客户端下线:[%s,%d]\n,socket.getInetAddress(),socket.getPort());break;}//获得请求String request sc.next();//构造响应String response process(request);//将响应写入Socket的输出流中printWriter.println(response);//刷新缓冲区确保响应及时发送printWriter.flush();//打印日志System.out.printf([%s,%d] req%s res%s\n,socket.getInetAddress(),socket.getPort(),request,response);}}catch (IOException e) {e.printStackTrace();}finally {try {//关闭Socket文件资源socket.close();} catch (IOException e) {e.printStackTrace();}}}private String process(String request) {return request;}public static void main(String[] args) throws IOException {TCP_Echo_Server server new TCP_Echo_Server(9090);server.start();} } 2客户端代码 public class TCP_Echo_Client {private Socket clientSocket null;public TCP_Echo_Client(String serverIP,int serverport) throws IOException {//根据指定的服务器地址和端口号构建客户端套接字clientSocket new Socket(serverIP,serverport);}public void start(){System.out.println(成功连接);//TCP传输的是字节流创建两个流对象用于获得Socket的输入流和输出流try(InputStream is clientSocket.getInputStream();OutputStream os clientSocket.getOutputStream();){//创建两个Scanner对象分别用于从控制台输入请求和从输入流获得响应Scanner ossc new Scanner(System.in);Scanner issc new Scanner(is);//用于将输出流封装成PrintWriterPrintWriter printWriter new PrintWriter(os);while (true){//输入请求System.out.print(-);String request ossc.next();//构造请求的字节流并写入Socket的输出流中printWriter.println(request);//刷新缓冲区确保请求及时发送printWriter.flush();//获取响应String response issc.next();//打印响应System.out.println(response);}} catch (IOException e) {e.printStackTrace();}finally {try {clientSocket.close();} catch (IOException e) {e.printStackTrace();}}}public static void main(String[] args) throws IOException {TCP_Echo_Client client new TCP_Echo_Client(127.0.0.1,9090);client.start();} } 阅读指针 - 《⽹络编程理论基础 -- TCP/IP协议体系》 链接生成中..........
http://www.hkea.cn/news/14353935/

相关文章:

  • 网站排名优化查询wordpress页面使用方法
  • 东莞网站推广设计网站建设与管理教学方案
  • 亚马逊怎么做deal网站纯静态网站怎么做cdn
  • 天津市工程建设项目报建网站蔬菜水果网站建设
  • 蝴蝶传媒网站推广上海网站建设怎么弄
  • 交友类网站功能建设思路福建西南建设有限公司网站
  • 网站集约化建设的讲话产品宣传网站的重点
  • 网站建设合作加盟设计一个网站要多久
  • 网站建设图片轮播手机网站建设开发
  • 广州网站平台建设国外优秀摄影作品网站
  • 网站的域名解析怎么做个人网页生成
  • 免费空间asp网站爱空间家装怎么样?两点告诉你
  • 深圳网站制作公司讯息公司简介结尾怎么写
  • 温州门户网站建设专注专业网站建设
  • 自己的域名可以转给做网站的账号吗阿里巴巴网站怎么做推广方案
  • 整站seo策略实施建网站哪家好北京
  • 建设综合购物网站微信里面如何做网站
  • 官方重大项目建设库网站做网站需要几个程序
  • 网站建设运作流程wordpress可视化编辑器 windows
  • 青海公路建设市场信用信息服务网站视频直播网站建设方案
  • html5网站开发需要框架吗主机屋网站
  • 赣州网站建设费用杭州市建设信用网官网
  • 如何做网站费用多少能做游戏的软件
  • 做物流的都是上什么网站企业网络推广的方法
  • 企业网站个人备案吗外贸网站建站i
  • 建设一个网站的技术可行性研究怎么建设网站模板上传
  • 惠州企业网站seo公司网站建设与维护薪资
  • 营销网站优化seowordpress外贸网站
  • html的网站模板做dj网站能赚钱吗
  • 做号网站网站售后维护