网站平台网站怎么做怎么自己搭建一个网站
- 作者: 五速梦信息网
- 时间: 2026年04月20日 07:33
当前位置: 首页 > news >正文
网站平台网站怎么做,怎么自己搭建一个网站,做h5哪个网站好用,网站过期后多长时间不续费就完了一 灵感#xff1a; 在2022年的暑假#xff0c;也就是我即将迈进高三的那个暑假#xff0c;我并没有察觉自己应该要学习了#xff0c;还是和过往的暑假一样玩着王者荣耀#xff0c;凌晨2点睡觉#xff0c;中午12点起床。我依稀记得这种状态一直持续到8月19。然而离开学还…一 灵感 在2022年的暑假也就是我即将迈进高三的那个暑假我并没有察觉自己应该要学习了还是和过往的暑假一样玩着王者荣耀凌晨2点睡觉中午12点起床。我依稀记得这种状态一直持续到8月19。然而离开学还有6天时。我肚子开始剧烈的疼痛。想了一切可以的办法来恢复但是无极于终。我上百度去搜索搜到了些眉目我也进入了济南一家肠胃医院的网站。下面一幅图就是我咨询的聊天。那么你知道这种技术是怎么实现的吗就是基本的网上聊天。还有一些咨询网站的客服聊天。 二 通信基本概念–实现网上聊天理论 计算机网络 ①我们目的是为了写出一个后台聊天为什么还要了解计算机网络呢因为聊天的本质就是在计算机网络下进行的。 ②何为计算机网络通过百科搜索我们能查询到计算机网络其实就是一些相互连接的、以资源共享为目的的、自治的计算机的集合。通俗点讲就是计算机网络就像一个巨大的邮局不同的计算机就像不同的信箱通过电线或无线信号来传递信息。 ③通信就要用各种协议比如早期的http协议和更加安全的Https协议https经过加密和身份验证。通信协议就像是一套规则和标准确保计算机网络中的设备能够正确地发送和接收信息。它定义了数据如何被封装、地址信息如何被添加、以及错误如何被检测和纠正等。协议就是不同计算机遵循的规则。 ④https和http只不过是应用层协议我们常见的两种。还有很多这里就不一一赘述。下面要讲的TCPUDP是传输层的协议与我们今天要讲的聊天密切相关。 ⑤每个计算机都有它的IP就是地址。有各自的IP我们才能传送数据。IPv6格式能分配的地址非常多据说可以为地球的每一粒沙子分配地址。 ⑥端口就是用来区分每个软件或进程的。在下面代码中我们会用到。 ⑦接下来的测试将在本地进行。要用到特殊地址127.0.0.1。 三 TCP TCP实现聊天分为客户端和服务端。客户端用来构造连接发送信息。服务端用来接受信息输出信息。 我们用TCP实现简单文字传输 //客户端 package chat;import java.io.OutputStream; import java.net.InetAddress; import java.net.Socket;public class TcpClientDemo1 {public static void main(String[] args) {try {//获取服务端的地址InetAddress serverIp InetAddress.getByName(127.0.0.1);int port 9999;//创见一个Socket连接Socket socket new Socket(serverIp, port); //一步化简–》 Socket socket new Socket(InetAddress.getName(), 5555);//发送信息创建io流OutputStream ossocket.getOutputStream();os.write(你好.getBytes());os.close();} catch (Exception e) {e.printStackTrace();}} }//服务端package chat;import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket;//服务器端 public class TcpServerDemo1 {public static void main(String[] args) {ByteArrayOutputStream baonull;//地址 端口号try {ServerSocket serverSocket new ServerSocket(9999);//等待客户端连接过来Socket socketserverSocket.accept();//读取客户端的信息InputStream issocket.getInputStream();//管道流baonew ByteArrayOutputStream();byte[]buffsnew byte[1024];int len;while((lenis.read(buffs))!-1){bao.write(buffs,0,len);System.out.println(bao.toString());//关闭}}catch(Exception e){e.printStackTrace();}finally{if(bao!null) {try {bao.close();} catch (Exception e) {e.printStackTrace();}}}} }我们用TCP实现文件上传与上面代码很是相似但略有不同 //客户端package file; import java.io.; import java.net.InetAddress; import java.net.Socket; import java.net.UnknownHostException;//文件上传 public class TcpClientDemo2 {public static void main(String[] args) {try {//获取连接Socket socketnew Socket(InetAddress.getByName(127.0.0.1),5555);//文件输出–》创建一个输出流OutputStream ossocket.getOutputStream();//读取文件FileInputStream fisnew FileInputStream(new File(C://Users//hp//OneDrive//图片//本机照片//微信图片_20240227182056.jpg));int len;byte[]buffsnew byte[2014];while((lenfis.read(buffs))!-1){os.write(buffs,0,len);//写进来再输出去}//写一个传送完成的标志,告诉服务器已经结束了socket.shutdownOutput();//当传送完成时应该输出语句输送成功InputStream issocket.getInputStream();//管道输出ByteArrayOutputStream byteArrayOutputStreamnew ByteArrayOutputStream();int len1;byte[]buffs1new byte[2024];while((len1is.read(buffs1))!-1){byteArrayOutputStream.write(buffs1,0,len1);}System.out.println(byteArrayOutputStream.toString());byteArrayOutputStream.close(); is.close();fis.close();os.close();socket.close();} catch (Exception e) {e.printStackTrace();}}}//服务端package file; import java.io.; import java.net.ServerSocket; import java.net.Socket; import java.net.SocketAddress;public class TcpServerDemo2 {public static void main(String[] args) {try {//服务端的端口ServerSocket serverSocketnew ServerSocket(5555);//等待接受阻塞式监听会一直等待Socket socketserverSocket.accept();//获取输入流InputStream issocket.getInputStream();//文件输出FileOutputStream fosnew FileOutputStream(new File(receive.jpg)); //命了个名int len;byte[]buffsnew byte[2024];while((lenis.read(buffs))!-1){fos.write(buffs,0,len);//写进来输出}//输出输出完成//输出流OutputStream ossocket.getOutputStream();os.write(输送成功.getBytes());fos.close();is.close();socket.close();serverSocket.close();} catch (Exception e) {e.printStackTrace();}}}文件上传成功后我们文件会出现在最下面如图所示 四 UDP 既然上面已经通过TCP实现交流了为什么还要UDP实现交流呢这不得不提一下两者的差别。TCP协议需要进行连接而UDP协议不需要进行连接随便传送。 //建立一个Socket DatagramSocket socketnew DatagramSocket(); //建立一个数据包 String msg新年快乐; InetAddress localhostInetAddress.getByName(localhost); int port5555; DatagramPacket packetnew DatagramPacket(msg.getBytes(),msg.getBytes().length,localhost,port); //发送数据包 socket.send(packet); //关闭 socket.close(); //开发端口DatagramSocket socketnew DatagramSocket(5555);//接受数据包byte[]buffsnew byte[1024];DatagramPacket packetnew DatagramPacket(buffs,0,buffs.length);socket.receive(packet);System.out.println(packet.getAddress().getHostAddress());System.out.println(new String(packet.getData(),0, packet.getLength())); 通过上面的代码可以发现UDP在客户端先建立一个socket连接建立包发送包的过程。然而没有了服务端这一概念不需要进行连接而是接受包输出包的过程。 由此我们可以实现互发消息通过多线程。 //发送消息package send;import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.net.; import java.nio.charset.StandardCharsets;public class UdpSend implements Runnable{DatagramSocket socketnull;BufferedReader readernull;private int fromPort;private String toIp;private int toPort;public UdpSend(int fromPort, String toIp, int toPort) throws Exception {this.fromPort fromPort;this.toIp toIp;this.toPort toPort;socketnew DatagramSocket(fromPort);readernew BufferedReader(new InputStreamReader(System.in));}Overridepublic void run() {//准备数据控制台读取–打包进去while (true) {try {String data reader.readLine();byte[] datas;datas data.getBytes();DatagramPacket packet new DatagramPacket(datas, 0, datas.length, new InetSocketAddress(this.toIp, this.toPort));socket.send(packet);if (data.equals(bye)) {break;}} catch (IOException e) {throw new RuntimeException(e);}//发送}socket.close();}} //接受消息package send;import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; import java.nio.charset.StandardCharsets;public class UdpReceive implements Runnable{DatagramSocket socketnull;private int port;private String msg;public UdpReceive(int port,String msg) throws Exception {this.portport;this.msgmsg;socketnew DatagramSocket(port);}public void run(){while(true) {try {//准备接受包裹byte[] container new byte[2024];DatagramPacket packet new DatagramPacket(container, 0, container.length);//接受socket.receive(packet);//断开连接int length packet.getLength();byte[] data packet.getData();String receiveD new String(data, 0, length);System.out.println(msg:receiveD);if (receiveD.equals(bye)) {break;}} catch (IOException e) {throw new RuntimeException(e);}}socket.close();}} 老师类 package send;public class tackTeacher {public static void main(String[] args) throws Exception {new Thread(new UdpSend(4444,localhost,7777)).start();new Thread(new UdpReceive(8888,学生)).start();}}学生类 package send;public class tackStudent {public static void main(String[] args) throws Exception {new Thread(new UdpSend(5555,localhost,8888)).start();new Thread(new UdpReceive(7777,老师)).start();} } 五 URL URL其实就相当于网络爬虫下载网络视频音乐等。 这里是一段下载音乐的代码 package U;import java.io.FileOutputStream; import java.io.InputStream; import java.net.;public class UrlDown {public static void main(String[] args) throws Exception {//下载地址URL urlnew URL(\n https://m804.music.126.net/20240601202251/50656d3a6d5b5489905b09e4ada8bef2/jdyyaac/obj/w5rDlsOJwrLDjj7CmsOj/34873299362/7d37/4c2f/3640/245ede6e6294337d349d85532c0abcc3.m4a);//连接到这个资源HttpURLConnection connection(HttpURLConnection)url.openConnection();//输入InputStream isconnection.getInputStream();FileOutputStream fosnew FileOutputStream(f.m4a);byte[]buffsnew byte[1024];int len;while((lenis.read(buffs))!-1){fos.write(buffs,0,len);}//断开fos.close();is.close();connection.disconnect();} }如果包最下面出现如图情况就说明下载完成了。如果还有什么不懂的地方或者没有实现可以私信我或在评论区留下您的问题。
- 上一篇: 网站平台建设总结网站建设 中企动力东莞后台管理
- 下一篇: 网站平台由什么搭建专门制作网站
相关文章
-
网站平台建设总结网站建设 中企动力东莞后台管理
网站平台建设总结网站建设 中企动力东莞后台管理
- 技术栈
- 2026年04月20日
-
网站平台建设项目检查汇报材料做中文的云图网站
网站平台建设项目检查汇报材料做中文的云图网站
- 技术栈
- 2026年04月20日
-
网站平台建设十大公司太白县住房和城乡建设局网站
网站平台建设十大公司太白县住房和城乡建设局网站
- 技术栈
- 2026年04月20日
-
网站平台由什么搭建专门制作网站
网站平台由什么搭建专门制作网站
- 技术栈
- 2026年04月20日
-
网站评论怎么做西安网站维护 策划
网站评论怎么做西安网站维护 策划
- 技术栈
- 2026年04月20日
-
网站屏幕自适应代码网站开发 成都
网站屏幕自适应代码网站开发 成都
- 技术栈
- 2026年04月20日
