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

建设一个网站可以采用哪几种方案设计网页通常使用什么语言

建设一个网站可以采用哪几种方案,设计网页通常使用什么语言,深圳网站制作费用,建行移动门户网站网络通信这一章 基本分为三个部分 网络基础概念和TCP,UDP这三个部分主要如下#xff1a; 计算机网络实现了堕胎计算机间的互联#xff0c;使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序#xff0c;这些程序借助于网络协议#xf…网络通信这一章  基本分为三个部分  网络基础概念和TCP,UDP这三个部分主要如下 计算机网络实现了堕胎计算机间的互联使得它们彼此之间能够进行数据交流。网络应用程序就是再已连接的不同计算机上运行的程序这些程序借助于网络协议相互之间可以交换数据编写网络应用程序前首先必须明确网络协议TCP/IP协议是网络应用程序的首选 网络程序设计基础 网络程序设计编写始于其他计算机进行通信的程序java已经将网络程序所需要而定元素封装成不同的类用户只要床啊金这些类的对象使用相应的方法即使不举报相关的网络知识也是可以编写除高质量的网络通信程序的 本章最主要的是TCP和UDP两个部分  他们两主要的区别就是一个是一对一通信  一个是一对多通信   当然两者都有各自的优势和劣势接下来先讲解 TCP部分 TCP程序 TCP程序的通信方式呢 是一对一的   步骤是  先要打开服务器然后客户端连接服务器  先是尝试客户端是否能够接收到信息  如果可以接收到信息的话  这时服务器将会把文件传输给客户端这样的话 能够保证客户端可以接收到信息  劣势呢就是每次都是要这样子 所以效率对比起UDP来说慢下了好多  以下代码将会进行讲解 客户端代码 package tcp;import java.io.*; import java.net.Socket; import java.util.Scanner;/*** Socket客户端**/ public class SocketClient {public static void main(String[] args) {Socket s null;try {// 与ip为127.0.0.1、端口为12345的服务端建立连接s new Socket(127.0.0.1, 12345);// 创建输入流接收服务端发送的消息字节流InputStream is s.getInputStream();// 将服务端返回的字节流转化为字符流InputStreamReader isr new InputStreamReader(is);// 创建字符流读取缓冲区方便每行读取BufferedReader br new BufferedReader(isr);// 创建输出流返回消息OutputStream os s.getOutputStream();// 创建输出流缓冲PrintWriter pw new PrintWriter(os);// 创建发送消息的线程Runnable rOut () - {boolean flag true;while (flag) {try {// 接收控制台输入Scanner scan new Scanner(System.in);String msg scan.nextLine();// 将输入写入缓冲pw.println(msg);// 将缓冲内的数据推送至服务端并清空缓冲区pw.flush();} catch (Exception e) {flag false;e.printStackTrace();}}};// 创建接收消息的线程Runnable rIn () - {boolean flag true;while (flag) {try {// 逐行读取服务端返回的消息并打印String str br.readLine();System.out.println(服务端的消息 str);} catch (IOException e) {flag false;e.printStackTrace();}}};// 启动两个线程Thread tOut new Thread(rOut);Thread tIn new Thread(rIn);tOut.start();tIn.start();}catch (IOException e) {try {// 释放资源s.close();} catch (Exception exception) {exception.printStackTrace();}e.printStackTrace();}} } 服务端代码 package tcp; import java.io.*; import java.net.ServerSocket; import java.net.Socket; import java.util.Scanner;/*** Socket服务端**/ public class SocketServer {public static void main(String[] args) {ServerSocket ss null;Socket s null;try {// 创建监听端口为12345的Socket服务端ss new ServerSocket(12345);System.out.println(服务端Socket服务已建立等待客户端连接...);// 通过ss.accept()开始持续监听12345端口当有连接时获取收到的包装成Socket的客户端对象s ss.accept();// 获取客户端的IP地址和端口号String ip s.getInetAddress().getHostAddress();int port s.getPort();System.out.println(服务端与 ip : port 已建立连接);// 创建输入流接收客户端发送的消息字节流InputStream is s.getInputStream();// 将客户端发送的字节流转化为字符流InputStreamReader isr new InputStreamReader(is);// 创建字符流读取缓冲区方便每行读取BufferedReader br new BufferedReader(isr);// 创建输出流返回消息OutputStream os s.getOutputStream();// 创建输出流缓冲PrintWriter pw new PrintWriter(os);// 创建接受信息的线程Runnable rIn () - {boolean flag true;while (flag) {try {// 逐行读取客户端发送的消息并打印String str br.readLine();System.out.println(客户端的消息 str);} catch (IOException e) {flag false;e.printStackTrace();}}};// 创建发送消息的线程Runnable rOut () - {boolean flag true;while (flag) {try {// 接收控制台输入Scanner scan new Scanner(System.in);String msg scan.nextLine();// 将输入写入缓冲pw.println(msg);// 将缓冲内的数据推送至客户端并清空缓冲区pw.flush();} catch (Exception e) {flag false;e.printStackTrace();}}};// 开启两个线程Thread tIn new Thread(rIn);Thread tOut new Thread(rOut);tIn.start();tOut.start();} catch (IOException e) {try {// 释放资源ss.close();s.close();} catch (Exception exception) {exception.printStackTrace();}e.printStackTrace();}} } 代码图如下 运行结果如下所示 接下来讲解UDP程序 UDP程序 UDP程序跟TCP程序不同的地方呢  TCP通信是一对一通信 如果要一下通知好多个人的话 就需要一个一个来通信  所以这时将会需要UDP了  UDP的优势就在于效率高 但是不稳定的地方呢  就是效率高但是不一定每个人都能看到  就像老师在台上讲课 总有一些学生会在台下玩手机 或者带耳机  不一定每一个人都能够接受得到  这就是UDP的不稳定的地方 接下来使用代码来讲解 广播类代码如下 package udp;import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket; //广播 先运行 public class Notification extends Thread{String weather 节目预报八点有大型晚会请收听;//发送消息int port 9898;//端口号InetAddress iaddress null;MulticastSocket socket null;//多点广播套接字Notification(){try {iaddress InetAddress.getByName(224.255.10.0);//地址socket new MulticastSocket(port);//实例化多点广播套接字socket.setTimeToLive(1);//指定发送范围是本地网络socket.joinGroup(iaddress);//加入广播组}catch(IOException e){e.printStackTrace();//输出异常信息}}public void run(){//run方法while(true) {DatagramPacket packet null;//数据包byte data[]weather.getBytes();//字符串消息的字节数组packet new DatagramPacket(data,data.length,iaddress,port);//将数据打包System.out.println(weather);//控制台打印消息try {socket.send(packet);//发送数据sleep(3000);//让线程休眠3000毫秒}catch(IOException e){e.printStackTrace();}catch(InterruptedException e) {e.printStackTrace();}} }public static void main(String[]args) {Notification w new Notification();w.start();//启动线程} } 接收类代码如下 package udp;import java.awt.BorderLayout; import java.awt.Color; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.IOException; import java.net.DatagramPacket; import java.net.InetAddress; import java.net.MulticastSocket;import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JTextArea; import javax.swing.WindowConstants; //接收 后运行 public class Receive extends JFrame implements Runnable, ActionListener {int port ;//端口InetAddress group null;//广播组地址MulticastSocket socket null;//多点广播套接字对象JButton inceBtn new JButton(开始接收);JButton stopBtn new JButton(停止接收);JTextArea inceAr new JTextArea(10,10);//显示接收广播的文本域JTextArea inced new JTextArea(10,10);Thread thread ;boolean stop false;//定制接受信息状态public Receive () {setTitle(广播数据包);setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);thread new Thread(this);inceBtn.addActionListener(this);//绑定按钮ince的单击事件stopBtn.addActionListener(this);//绑定按钮stop的单击事件inceAr.setForeground(Color.blue);//指定文本域中文字的颜色JPanel north new JPanel();north.add(inceBtn);//将按钮添加到面板north上north.add(stopBtn);add(north,BorderLayout.NORTH);//将north放置在窗体的上部JPanel center new JPanel();//创建面板对象centercenter.setLayout(new GridLayout(1,2));//设置面板布局center.add(inceAr);//将文本域添加到面板上center.add(inced);add(center,BorderLayout.CENTER);//设置面板的布局validate();//刷新port 9898;//设置端口号try {group InetAddress.getByName(224.255.10.0);//指定接收地址socket new MulticastSocket(port);//绑定多点广播套接字socket.joinGroup(group);//加入广播组}catch(IOException e){e.printStackTrace();//输出异常信息}setBounds(100,50,360,380);//设置布局setVisible(true);//将窗体设置为显示状态}public void run() {//run方法while (!stop) {byte data[] new byte[1024];//创建缓存字节数组DatagramPacket packet null;packet new DatagramPacket(data,data.length,group,port);//待接收的数据包try {socket.receive(packet);//接收数据包//获取数据包中的内容String message new String(packet.getData(),0,packet.getLength());inceAr.setText(正在接收的内容\nmessage);//将接受内容显示在文本域中inced.append(message\n);//每条信息为一行}catch(IOException e ) {e.printStackTrace();//输出异常信息}}}public void actionPerformed(ActionEvent e) {//单机按钮ince出发时间if(e.getSource()inceBtn) {inceBtn.setBackground(Color.red);//设置按钮颜色stopBtn.setBackground(Color.yellow);if(!(thread.isAlive())) {//如线程不处于“新建状态”thread new Thread(this);//实例化Thread对象}thread.start();//启动线程stop false;//开始接受信息}if(e.getSource() stopBtn) {//单机按钮stop出发时间inceBtn.setBackground(Color.yellow);//设置按钮亚瑟stopBtn.setBackground(Color.red);stop true;//停止接收信息}}public static void main(String[]args) {Receive rec new Receive();rec.setSize(460,200);} } 代码图如下所示 运行结果如下所示
http://www.yutouwan.com/news/15786/

相关文章:

  • 手机应用市场下载安装到手机谷歌seo外包
  • 如何加强网站信息管理建设怎么做像京东一样的网站
  • 有哪些游戏网站大图模板网站
  • wordpress网站投放广告建设网站内容
  • 网站空间大小 论坛优化的定义
  • 网站站群建设方案wordpress调用内容
  • 网站竞价排名wordpress响应缓慢
  • 网站 三合一免费建站平台哪个稳定
  • 邢台专业网站建设费用网站建设实验总结
  • 青岛高品质网站建设戴尔网站建设的目的
  • ps怎么做网站首页图网站开发项目职责
  • 微信官网与手机网站区别wordpress 修改端口号
  • 企业网站和信息化建设金蝶企业网站推广推广阶段
  • 北京天津网站设计制作多少钱wordpress判断首页选择不同模板
  • 制作简单门户网站步骤东莞制作网站建设的公司
  • 怎样创建个人的网站全县网站建设情况通报
  • 谷歌做英文网站山西招标
  • 哪个网站可以做1040杭州ppt设计公司
  • 中国建设银行车主卡网站备案后的域名改网站名
  • 网站建设协议书 保密条款给你一个网站你如何做优化
  • 近期舆情热点事件佛山市seo网站设计工具
  • win2008r2 iis配置网站广东做网站
  • 怎么做视频解析网站吗凡客诚品官网怎么登录
  • 做外贸用什么搜索网站网络营销的定义及其内容是什么
  • 网站建设的竞争对手的分析用wordpress建立电商网站
  • 网站建设案例市场wordpress字体抖动
  • 怎么做网站的防盗链柳州企业网站制作哪家好
  • 代刷网站只做软件吗手机百度下载免费安装
  • 西安营销网站郑州 网站建设公司
  • 一站式服务理念上传WordPress之后