假发外贸网站模板阿里云建网站教程

web/2025/10/7 12:21:48/文章来源:
假发外贸网站模板,阿里云建网站教程,亚马逊aws永久在线观看,搜索引擎付费推广网络编程是每个开发人员工具箱中的核心部分#xff0c;我们在学习了诸多Java的知识后#xff0c;也将步入几个大的方向#xff0c;Java网络编程就是其中之一。 如今强调网络的程序不比涉及网络的更多。除了经典的应用程序#xff0c;如电子邮件、Web浏览器和远程登陆外我们在学习了诸多Java的知识后也将步入几个大的方向Java网络编程就是其中之一。   如今强调网络的程序不比涉及网络的更多。除了经典的应用程序如电子邮件、Web浏览器和远程登陆外大多数主要的应用程序都有某种程度的内质网络功能。比如我们最常使用的IDEEclipse/IDEA与源代码存储库GitHub等等进行通信再比如Word可以从URL打开文件又或者是我们玩的众多联机游戏玩家实时相互对战等等。Java是第一个从一开始就为网络应用而设计的编程语言最早的两个实用Java应用的程序之一就是Web浏览器随着Internet的不断发展Java成为了唯一适合构建下一代网络应用程序的语言。节选自Java NetWork Programming——Elliotte Rusty Harold著 一、Client/Server   为了实现两台计算机的通信必须要用一个网络线路连接两台计算机。服务器Server是指提供信息的计算机或程序客户机Client是指请求信息的计算机或程序而网络用于连接服务器与客户机实现两者相互通信。   下面我们看一个简单的通信例子。   如下的Server程序是一个服务器端应用程序使用 Socket 来监听一个指定的端口。 1 import java.io.IOException;2 import java.io.InputStreamReader;3 import java.io.Reader;4 import java.net.ServerSocket;5 import java.net.Socket;6 7 public class Server {8 9 public static void main(String[] args) throws IOException { 10 int port 9999; 11 12 System.out.println(-----------服务器启动-----------); 13 14 ServerSocket server new ServerSocket(port); 15 Socket socket server.accept(); 16 Reader reader new InputStreamReader(socket.getInputStream()); 17 char chars[] new char[1024]; 18 int len; 19 StringBuilder builder new StringBuilder(); 20 while ((lenreader.read(chars)) ! -1) { 21 builder.append(new String(chars, 0, len)); 22 } 23 System.out.println(收到来自客户端的信息 builder); 24 reader.close(); 25 socket.close(); 26 server.close(); 27 } 28 29 }    如下的Client是一个客户端程序该程序通过 socket 连接到服务器并发送一个请求然后等待一个响应。 1 import java.io.IOException;2 import java.io.OutputStreamWriter;3 import java.io.Writer;4 import java.net.Socket;5 import java.util.Scanner;6 7 public class Client {8 9 public static void main(String[] args) throws IOException { 10 String host 127.0.0.1; 11 int port 9999; 12 13 System.out.println(-----------客户端启动-----------); 14 15 Socket client new Socket(host, port); 16 Writer writer new OutputStreamWriter(client.getOutputStream()); 17 Scanner in new Scanner(System.in); 18 writer.write(in.nextLine()); 19 writer.flush(); 20 writer.close(); 21 client.close(); 22 in.close(); 23 } 24 25 }   先启动服务器运行结果如下      再运行客户端并输入要发送的信息如下      此时Server就接收到了Client发送的消息如下      这就是一个简单的套接字通信了具体分析见下方TCP。 二、TCP   TCP网络程序设计是指利用Socket类编写通信程序具体实例参照上例。   套接字使用TCP提供了两台计算机之间的通信机制。 客户端程序创建一个套接字并尝试连接服务器的套接字。当连接建立时服务器会创建一个 Socket 对象。客户端和服务器现在可以通过对 Socket 对象的写入和读取来进行通信。java.net.Socket 类代表一个套接字并且 java.net.ServerSocket 类为服务器程序提供了一种来监听客户端并与他们建立连接的机制。   两台计算机间使用套接字建立TCP连接步骤如下 服务器实例化一个 ServerSocket 对象表示通过服务器上的端口通信。 服务器调用 ServerSocket 类的 accept() 方法该方法将一直等待直到客户端连接到服务器上给定的端口。 服务器正在等待时一个客户端实例化一个 Socket 对象指定服务器名称和端口号来请求连接。 Socket 类的构造函数试图将客户端连接到指定的服务器和端口号。如果通信被建立则在客户端创建一个 Socket 对象能够与服务器进行通信。 在服务器端accept() 方法返回服务器上一个新的 socket 引用该 socket 连接到客户端的 socket。   连接建立后通过使用 I/O 流在进行通信每一个socket都有一个输出流和一个输入流客户端的输出流连接到服务器端的输入流而客户端的输入流连接到服务器端的输出流。   1. InetAddress   java.net包中的InetAddress类是与IP地址相关的类利用该类可以获取IP地址、主机地址等信息。 InetAddress ip InetAddress.getLocalHost(); String localName ip.getHostName(); //获取本地主机名 String localIp ip.getHostAddress(); //获取本地主机的ip地址   2. ServerSocket    java.net包中的ServetSocket类用于表示服务器套接字其主要功能是等待来自网络上的“请求”它可以通过指定的端口来等待连接的套接字如上方实例中的9999。   而服务器套接字一次可以与一个套接字连接如果多台客户机同时提出连接请求服务器套接字会将请求连接的客户机存入队列中然后从中取出一个套接字与服务器新建的套接字连接起来。若请求连接数大于最大容纳数则多出的连接请求被拒绝。   ServerSocket的具体方法可参照API这里只对accept()方法进行一个说明。调用accept()方法将返回一个与客户端Socket对象相连的Socket对象服务器端的Socket对象使用getOutputStream()方法获得的输出流对象将指向客户端Socket对象使用getInputStream()方法获得的输入流对象反之亦然。   需要注意的是accept()方法会阻塞线程的继续执行直到接受客户的呼叫如果没有客户呼叫服务器那么下面的代码将不会执行。 三、UDP   用户数据包协议UDP是网络信息传输的另一种形式基于UDP的通信与基于TCP的通信不同UDP的信息传递更快但不提供可靠的保证。   1. DatagramPacket   java.net包中的DatagramPacket类用来表示数据包构造方法如下 DatagramPacket(byte[] buf, int length) DatagramPacket(byte[] buf, int length, InetAddress address, int port)   上述构造方法中第一种指定了数据包的内存空间和大小第二种不仅指定了数据包的内存空间和大小并且指定了数据包的目标地址和端口。   2. DatagramSocket   java.net包中的DatagramSocket类用于表示发送和接受数据包的套接字构造方法如下 DatagramSocket() DatagramSocket(int port) DatagramSocket(int port, InetAddress addr)   上述构造方法中第一种创建数据包套接字并将其绑定到本地主机上任何可用的端口第二种创建数据包套接字并将其绑定到本地主机上的指定端口创建数据包套接字并将其绑定到指定的本机地址。  四、实例测试   下面写一个完整的实例题目如下 建立服务端程序服务器端程序接收来自客户端的请求从网上下载程序英语900句每句占一行服务端读取该文件保存到集合或者列表中建立客户端程序使用”sentence: 编号#编号#”的格式发生数据。例如发送”sentense:1,2,3” 服务端把相应编号的句子发送给客户端并加以呈现客户端需要把服务端发送的句子保存起来如果已经保存有相应的句子将不再保存客户端需要把从服务端获取的数据存储到文件中。   1. 程序结构      2. Server.java   该类为客户端类。 1 import java.io.*;2 import java.net.ServerSocket;3 import java.net.Socket;4 import java.util.ArrayList;5 import java.util.List;6 7 /**8 * 9 * author adamjwh 10 * 11 */ 12 public class Server { 13 14 public static ListString sentence; 15 private static String filename src/com/adamjwh/jnp/ex6_2/English900.txt; 16 17 public static void main(String[] args) throws IOException { 18 sentencenew ArrayList(); 19 System.out.println(-----------服务器启动-----------); 20 21 FileReader fileReader new FileReader(filename); 22 BufferedReader br new BufferedReader(fileReader); 23 24 String inputLine null; 25 while ((inputLine br.readLine()) ! null) { 26 sentence.add(inputLine); 27 } 28 29 ServerSocket ss new ServerSocket(9999); 30 while(true){ 31 Socket sk ss.accept(); 32 ServerThread st new ServerThread(sk); 33 st.start(); 34 } 35 36 } 37 }   2. Client.java   该类为服务器类。 import java.io.BufferedReader; import java.io.FileWriter; import java.io.InputStream; import java.io.InputStreamReader; import java.io.PrintStream; import java.net.Socket; import java.util.Scanner;/*** * author adamjwh**/ public class Client {private static String filename src/com/adamjwh/jnp/ex6_2/result.txt;public static void main(String[] args) {try {Socket sk new Socket(127.0.0.1, 9999);System.out.println(-----------客户端启动-----------);PrintStream ps new PrintStream(sk.getOutputStream());System.out.print(发送);Scanner sn new Scanner(System.in);String str sn.nextLine();ps.println(str);InputStream is sk.getInputStream();InputStreamReader isr new InputStreamReader(is);BufferedReader br new BufferedReader(isr);//写文件FileWriter fw new FileWriter(filename, true);//读文件String result new ReadFile().readFile(filename);String s;while ((s br.readLine()) ! null) {System.out.println(服务器推送 s);if(!result.contains(s)) {fw.write(s \n);}}sk.shutdownInput();ps.close();sk.close();fw.close();} catch (Exception e) {e.printStackTrace();}} }   3. ServerThread   通过线程实现信息交互。 1 import java.io.*;2 import java.net.Socket;3 4 /**5 * 6 * author adamjwh7 *8 */9 public class ServerThread extends Thread{ 10 Socket sk; 11 public ServerThread(Socket sk){ 12 this.sk sk; 13 } 14 public void run() { 15 BufferedReader brnull; 16 try{ 17 br new BufferedReader(new InputStreamReader(sk.getInputStream())); 18 String line br.readLine(); 19 System.out.println(客户端line); 20 String[] split line.split(:); 21 String[] split1 split[split.length - 1].split(,); 22 sk.shutdownInput(); 23 24 OutputStream os sk.getOutputStream(); 25 26 PrintStream bw new PrintStream(os); 27 28 //给客户端返回信息 29 for(int i0;isplit1.length;i) { 30 bw.print(Server.sentence.get(Integer.parseInt(split1[i])%Server.sentence.size())\n); 31 } 32 bw.flush(); 33 br.close(); 34 sk.close(); 35 } 36 catch(IOException e){ 37 e.printStackTrace(); 38 } 39 } 40 }    4. 运行结果   先运行服务器      再运行客户端并输入信息      服务器接收到客户端发来的请求       服务器将请求结果推送给客户端这里客户端就获取到了它请求的第174句、第258句及第5句并输出到文件中      这里的测试文件我测试到了162也就是该文件的第15行可以看到在文件中追加了两行新的句子174和258而第5句因为在之前已经出现过了该文件的第1行所以没有追加第5句完成上述题目。   转载于:https://www.cnblogs.com/adamjwh/p/8856516.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/88472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

wordpress怎么弄主题sem seo是什么意思呢

为什么要使用事务 日常开发中,很多操作,不是通过一个SQL就能完成的,往往需要多个SQL配合完成 当执行多个SQL操作的时候,如果中间出现了特殊的情况(程序崩溃,系统奔溃,网络断开,主机…

房地产网站建设招商电脑游戏排行榜2020前十名

这是一个以故障为主题的专业级电影故障闪光效果视频过渡pr转场模板。使用这些效果来增强视觉效果。包含视频教程。适用软件:Premiere Pro 2023|分辨率:38402160(4K) 来自PR模板网:https://prmuban.com/36092.html

网站优秀网站地址专业团队英文

老A说的一句话让我很受启发,想要深入了解框架,你要把精力聚焦在架构设计的层面来思考问题。而透彻了解底层原理,最好的笨办法就是根据原理对框架核心进行重建或者说再造。看起来没有捷径,也是最快的捷径。相信很多读者已经看过老A…

没有备案号的网站中铁建设集团集采网站

100. 相同的树 给你两棵二叉树的根节点 p 和 q ,编写一个函数来检验这两棵树是否相同。 如果两个树在结构上相同,并且节点具有相同的值,则认为它们是相同的。 示例 1: 输入: p [1,2,3], q [1,2,3] 输出&#xff1…

沭阳城乡建设局网站怎么看网站做的好不好

洗鞋店小程序,干洗店软件,洗护行业小程序,上门取衣小程序,预约干洗小程序,校园干洗店小程序,工厂干洗店小程序,干洗店小程序开发,成品软件开发 洗衣工厂软件、功能强大! 包含以下主要功能: * 用户选择洗护用品&#x…

网站续费会计分录怎样做百度域名注册查询

把可能的进行二分判断&#xff0c;判断的时候尽量向右取&#xff0c;一直取到不能去为止&#xff0c;这样才有可能成功分割。 判断是否可以把up作为最大值的代码&#xff1a; bool judge(LL up){if(up < Big) return false; //Big是数组中最大值&#xff0c;如果up小于最大值…

网站备案有哪些费用网络科技公司企业文化

单例模式是校招中最常考的设计模式之一. 设计模式其实就是类似于“规章制度”&#xff0c;按照这个套路来进行操作。 单例模式能保证某个类在程序中只存在唯一 一份实例。而不会创建出多个实例&#xff0c;如果创建出了多个实例&#xff0c;就会编译报错。而不会创建出多个实…

别人网站 自己的二级域名受雇去建设网站类网站

在 QML 中&#xff0c;Column 和 Row 是常用的布局元素&#xff0c;用于水平&#xff08;Row&#xff09;和垂直&#xff08;Column&#xff09;排列它们的子元素。以下是这两个元素的主要属性列表&#xff1a; Column 属性 spacing: 子元素之间的垂直间隔。width 和 height:…

人防网站建设与服务济宁那家做网站最好

[算法日志]图论刷题: 沉岛思想的运用 leetcode 695 岛屿最大面积 给你一个大小为 m x n 的二进制矩阵 grid . 岛屿 是由一些相邻的 1 (代表土地) 构成的组合, 这里的「相邻」要求两个 1 必须在 水平或者竖直的四个方向上 相邻. 你可以假设 grid 的四个边缘都被 0&#xff08…

网站当地备案企业网站建设结论

想象一下,一家公司在芬兰 Google Cloud 数据中心的服务器上托管一个网站。对于欧洲用户来说,加载可能需要大约 100 毫秒,但对于墨西哥用户来说,加载需要 3-5 秒。幸运的是,有一些策略可以最大限度地减少远程用户的请求延迟。 这些策略称为缓存和内容交付网络 (CDN),它们是…

网站后台文章字体什么2007做视频网站

目录 网络Internet &#xff08;互联网或互连网&#xff09;Internet&#xff08;因特网&#xff09;待续、更新中 网络 指将分布在不同地理位置的、相同或不同类型的网络通过网络互连设备&#xff08;中继器、网桥、路由器或网关等&#xff09;相互连接&#xff0c;形成一个范…

交易类网站建设功能表怎么下载网站动态图片

1、什么是内存对齐 计算机系统对基本类型数据在内存中放的位置做了限制,它们会要求这些数的首地址是一个数(一般为4和8)的整数倍,我们看下结构体的大小 #include <stdio.h> struct A {char a;int b; };int main() {printf("size of struct A is %d\n", sizeo…

做网站公司还有没有活路dedecms做中英文网站

Swin UNetR&#xff1a;把 UNet 和 Swin Transformer 结合 网络结构使用指南 前置知识&#xff1a;Swin Transformer&#xff1a;将卷积网络和 Transformer 结合 Swin UNetR 结合 Swin Transformer 的上下文建模能力和 U-Net 的像素级别预测能力&#xff0c;提高语义分割任务的…

温州中豪网站建设推广全国最大房产网络平台

简介 前面介绍了scanner可以扫描某个包路径下的所有bean&#xff0c;我们最常用的也是通过ComponentScan指定包路径去扫描&#xff0c;在SpringBoot中也是如此&#xff0c;本文将介绍spring扫描的逻辑 BeanDefinitionRegistryPostProcessor 知道了ComponentScan的作用&#…

深圳市盐田区住房和建设局网站正安县网站seo优化排名

文章目录题目描述解析代码题目描述 解析 第一感觉&#xff1a;啥都没感觉出来。。。 直接拿动态规划高精做的 但是只能拿40 重新分析一下这道题&#xff1a; g&#xff08;x&#xff09;首先可以拿快速幂很容易的求出来 问题就转化为了**把g(x)个东西分成k份的方案数 其实答案…

网站推广推广WordPress显示403

初涉的话先留坑吧 题目大意 $\sum_{i_1}^{a_1}\sum_{i_2}^{a_2}\cdots\sum_{i_m}^{a_m}(i_1,i_2,\cdots,i_m)$ $a_i<1e6,2<m<10$ 题目分析 首先寄存两篇比较好的博客&#xff1a; 1.铃悬的数学小讲堂——狄利克雷卷积与莫比乌斯反演 2.[学习笔记]莫比乌斯反演常见模型…

php 企业网站模板开发者门户网站是什么意思

1. 竞争市场 1.1. 算法、大数据、超级平台的风起云涌似乎预示了市场竞争机制的加速终结&#xff0c;而我们似乎也对这种市场机制的衰退见怪不怪 1.1.1. 它有效节省了消费者的搜寻成本&#xff0c;降低了市场准入壁垒&#xff0c;开辟了市场扩张与准入之间的崭新通道&#xff…

网站建设的作用和意义中小型企业网搭建

一般用下面的方法可以解决: 1&#xff1a;确认在“配置属性”中的“启用ASP.NET调试"为"True" 2&#xff1a;确认你的"web.config"中的"debugtrue" 3&#xff1a;若你安装过Win2000 SP4后&#xff0c;则要在命令行执行"regsvr32 i asp…

phpwind能做网站吗域名批量注册查询

用HBuider写的Web项目&#xff0c;项目名如果包含中文&#xff0c;edge下无法显示图片转载于:https://www.cnblogs.com/phoenixBlog/p/9964820.html

建网站 xyz汉阳网站推广公司

哪些好用的AI绘画生成软件&#xff1f;随着人工智能技术的飞速发展&#xff0c;AI绘画生成软件逐渐走入大众的视野&#xff0c;为艺术创作领域带来了革命性的变革。今天&#xff0c;就让我们一起探索四款备受推崇的AI绘画生成软件&#xff0c;看看它们如何以独特的魅力&#xf…