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

中国最大的免费素材网站番号网站怎么做

中国最大的免费素材网站,番号网站怎么做,网站在线留言怎么做,开发网站的语言网络编程 什么是网络编程 可以让设备中的程序与网络上其他设备中的程序进行数据交互#xff08;实现网络通信的#xff09; java.net.* 包下提供了网络编程的解决方案 通信的基本架构 CS 架构#xff08;Client 客户端 / Server 服务端#xff09;BS 架构#xff08;…网络编程 什么是网络编程 可以让设备中的程序与网络上其他设备中的程序进行数据交互实现网络通信的 java.net.* 包下提供了网络编程的解决方案 通信的基本架构 CS 架构Client 客户端 / Server 服务端BS 架构Browser 客户端 / Server 服务端 网络通信三要素 IP 地址端口号协议 IP 地址 import java.net.InetAddress;public class Test {public static void main(String[] args) throws Exception {// 1. 获取本机IP地址对象InetAddress ip1 InetAddress.getLocalHost();System.out.println(ip1.getHostName()); // TOMATOSystem.out.println(ip1.getHostAddress()); // 10.233.86.87// 2. 获取指定IP或者域名的IP地址对象InetAddress ip2 InetAddress.getByName(www.baidu.com);System.out.println(ip2.getHostName()); // www.baidu.comSystem.out.println(ip2.getHostAddress()); // 120.232.145.185// 3. 判断6000毫秒内是否能够连通百度System.out.println(ip2.isReachable(6000)); // true} }端口号 标记正在计算机设备上运行的应用程序被规定为一个16位的二进制范围是 0 ~ 65535 通信协议 网络上通信的设备事先规定的连接规则以及传输数据的规则被称为网络通信协议UDPUser Datagram Protocol用户数据报协议TCPTransmission Control Protocol传输控制协议 UDP 特点无连接不可靠通信 快速入门 // 客户端import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress;public class Client {public static void main(String[] args) throws Exception {// 1. 创建客户端对象DatagramSocket socket new DatagramSocket();// 2. 创建数据包对象封装要发出去的数据/*public DatagramPacket(byte buf[], int length, SocketAddress address) {参数一 : 封装要发出去的数据参数二 : 发送出去的数据大小字节个数参数三 : 服务端的IP地址找到服务端主机参数四 : 服务端的端口}*/byte[] bytes 我是客户端.getBytes();DatagramPacket packet new DatagramPacket(bytes, bytes.length,InetAddress.getLocalHost(), 6666);// 3. 开始正式发送这个数据包的数据出来了socket.send(packet);System.out.println(客户端数据发送完毕);// 4. 关闭连接释放其所占用的网卡资源socket.close();} }// 服务端import java.net.DatagramPacket; import java.net.DatagramSocket;public class Server {public static void main(String[] args) throws Exception {System.out.println(---服务端启动---);// 1. 创建一个服务端对象DatagramSocket socket new DatagramSocket(6666); // 参数端口号// 2. 创建一个数据包对象用于接收数据byte[] buffer new byte[1024 * 64]; // 64KBDatagramPacket packet new DatagramPacket(buffer, buffer.length); // 参数// 3. 正式使用数据包来接收客户端发来的数据socket.receive(packet);// 客户端ipSystem.out.println(packet.getAddress().getHostAddress());System.out.println(packet.getPort());// 4. 从字节数组中把接收到的数据直接打印出来// 接收多少就倒出多少// 获取本次数据包接收了多少数据int len packet.getLength();String res new String(buffer, 0, len);System.out.println(res);} }多发多收 // 客户端import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.InetAddress; import java.util.Scanner;public class Client {public static void main(String[] args) throws Exception {// 1. 创建客户端对象DatagramSocket socket new DatagramSocket();// 2. 创建数据包对象封装要发出去的数据/*public DatagramPacket(byte buf[], int length, SocketAddress address) {参数一 : 封装要发出去的数据参数二 : 发送出去的数据大小字节个数参数三 : 服务端的IP地址找到服务端主机参数四 : 服务端的端口}*/Scanner sc new Scanner(System.in);while (true) {System.out.println(请输入 );String msg sc.nextLine();// 如果用户输入exit命令就执行退出if (exit.equals(msg)) {System.out.println(欢迎再来);socket.close(); // 4. 关闭连接释放其所占用的网卡资源break;}byte[] bytes msg.getBytes();DatagramPacket packet new DatagramPacket(bytes, bytes.length,InetAddress.getLocalHost(), 6666);// 3. 开始正式发送这个数据包的数据出来了socket.send(packet);System.out.println(客户端数据发送完毕);}} }// 服务端import java.net.DatagramPacket; import java.net.DatagramSocket;public class Server {public static void main(String[] args) throws Exception {System.out.println(---服务端启动---);// 1. 创建一个服务端对象DatagramSocket socket new DatagramSocket(6666); // 参数端口号// 2. 创建一个数据包对象用于接收数据byte[] buffer new byte[1024 * 64]; // 64KBDatagramPacket packet new DatagramPacket(buffer, buffer.length); // 参数while (true) {// 3. 正式使用数据包来接收客户端发来的数据socket.receive(packet);// 客户端ipSystem.out.println(packet.getAddress().getHostAddress());System.out.println(packet.getPort());// 4. 从字节数组中把接收到的数据直接打印出来// 接收多少就倒出多少// 获取本次数据包接收了多少数据int len packet.getLength();String res new String(buffer, 0, len);System.out.println(res);System.out.println(-------------------);}} }TCP 特点面向连接可靠通信 快速入门 // 客户端import java.io.DataOutputStream; import java.io.OutputStream; import java.net.Socket;public class Client {public static void main(String[] args) throws Exception {// 1. 创建 Socket 对象并同时请求与服务器程序的连接Socket socket new Socket(127.0.0.1, 8888);// 2. 从 socket 通信管道中得到一个字节输出流用来发数据给服务端程序OutputStream os socket.getOutputStream();// 3. 把低级的字节输出流包装成数据输出流DataOutputStream dos new DataOutputStream(os);// 4. 开始写数据出去了dos.writeUTF(我们还是好朋友对吧);dos.close(); // 关闭数据输出流管道socket.close(); // 释放连接资源} }// 服务端import java.io.DataInputStream; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket;public class Server {public static void main(String[] args) throws Exception {System.out.println(---服务端启动---);// 1. 创建 ServerSocket 的对象同时为服务端注册端口ServerSocket serverSocket new ServerSocket(8888);// 2. 使用 serverSocket 对象调用一个 accept 方法等待客户端的连接请求Socket socket serverSocket.accept();// 3. 从 socket 通信管道中得到一个字节输入流InputStream is socket.getInputStream();// 4. 把原始的字节输入流包装成数据输入流DataInputStream dis new DataInputStream(is);// 5. 使用数据输入流读取客户端发送过来的消息String res dis.readUTF();System.out.println(res);// 输出客户端的IP地址System.out.println(socket.getRemoteSocketAddress());dis.close();socket.close();} }多发多收 // 客户端package login;import java.io.DataOutputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner;public class Client {public static void main(String[] args) throws Exception {// 1. 创建 Socket 对象并同时请求与服务器程序的连接Socket socket new Socket(127.0.0.1, 8888);// 2. 从 socket 通信管道中得到一个字节输出流用来发数据给服务端程序OutputStream os socket.getOutputStream();// 3. 把低级的字节输出流包装成数据输出流DataOutputStream dos new DataOutputStream(os);Scanner sc new Scanner(System.in);while (true) {System.out.println(请输入 );String msg sc.nextLine();if(exit.equals(msg)){System.out.println(欢迎再来);dos.close(); // 关闭数据输出流管道socket.close(); // 释放连接资源break;}// 4. 开始写数据出去了dos.writeUTF(msg);dos.flush();}} }// 服务端package login;import java.io.DataInputStream; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket;public class Server {public static void main(String[] args) throws Exception {System.out.println(---服务端启动---);// 1. 创建 ServerSocket 的对象同时为服务端注册端口ServerSocket serverSocket new ServerSocket(8888);// 2. 使用 serverSocket 对象调用一个 accept 方法等待客户端的连接请求Socket socket serverSocket.accept();// 3. 从 socket 通信管道中得到一个字节输入流InputStream is socket.getInputStream();// 4. 把原始的字节输入流包装成数据输入流DataInputStream dis new DataInputStream(is);while (true) {try {// 5. 使用数据输入流读取客户端发送过来的消息String res dis.readUTF();System.out.println(res);} catch (Exception e) {System.out.println(socket.getRemoteSocketAddress()断开了连接);;socket.close();break;}}} }多个客户端同时使用服务端 // 客户端import java.io.DataOutputStream; import java.io.OutputStream; import java.net.Socket; import java.util.Scanner;public class Client {public static void main(String[] args) throws Exception {// 1. 创建 Socket 对象并同时请求与服务器程序的连接Socket socket new Socket(127.0.0.1, 8888);// 2. 从 socket 通信管道中得到一个字节输出流用来发数据给服务端程序OutputStream os socket.getOutputStream();// 3. 把低级的字节输出流包装成数据输出流DataOutputStream dos new DataOutputStream(os);Scanner sc new Scanner(System.in);while (true) {System.out.println(请输入 );String msg sc.nextLine();if(exit.equals(msg)){System.out.println(欢迎再来);dos.close(); // 关闭数据输出流管道socket.close(); // 释放连接资源break;}// 4. 开始写数据出去了dos.writeUTF(msg);dos.flush();}} }// 服务端import java.io.DataInputStream; import java.io.InputStream; import java.net.ServerSocket; import java.net.Socket;public class Server {public static void main(String[] args) throws Exception {System.out.println(---服务端启动---);// 创建 ServerSocket 的对象同时为服务端注册端口ServerSocket serverSocket new ServerSocket(8888);while (true) {// 使用 serverSocket 对象调用一个 accept 方法等待客户端的连接请求Socket socket serverSocket.accept();System.out.println(socket.getRemoteSocketAddress() 连接到了服务端);// 使用一个独立的线程把当前的 socket 对象交给它负责处理new ServerReaderThread(socket).start();}} }class ServerReaderThread extends Thread {private Socket socket;public ServerReaderThread(Socket socket) {this.socket socket;}Overridepublic void run() {try {// 从 socket 通信管道中得到一个字节输入流InputStream is socket.getInputStream();// 把原始的字节输入流包装成数据输入流DataInputStream dis new DataInputStream(is);while (true) {try {// 使用数据输入流读取客户端发送过来的消息String res dis.readUTF();System.out.println(res);} catch (Exception e) {System.out.println(socket.getRemoteSocketAddress() 断开了连接);dis.close(); // 关闭流管道socket.close(); // 关闭连接管道break;}}} catch (Exception e) {e.printStackTrace();}} }
http://www.hkea.cn/news/14427852/

相关文章:

  • 网站功能建设上海门户网站制
  • 网站开发和优化关系六安短视频优化费用
  • 昆明hph网站建设中国新闻社副社长
  • 静安西安网站建设网上做室内设计好的网站
  • 中国建设教育协会培训中心网站百度ocpc如何优化
  • 有主体新增网站海南省两学一做网站
  • 深圳网站建设及优化阿里云认证网站建设题库
  • 网站建设 软件 开源台州网站建设哪家便宜
  • 做展示网站要恋用什么程序软件工程最好的出路
  • 制作网站软件网站上海市建设干部学校网站
  • 甜品网站建设策划书wordpress jiathis
  • 电子购物网站开发公司莱芜做网站的商家有哪些
  • 58网站建设的目的php网站跟随导航
  • 建设信用卡商城网站深圳市建工集团
  • 你认为公司在建立网站时应满足哪些目标经典软文案例100例
  • 智趣游戏型网站开发网页制作教材素材
  • 怎样选择 网站建设常州做网站软件
  • 如何做话费卡回收网站雨颜色网站建设
  • 深圳网站建设服务合同健身网站建设
  • 网站备案号省份深圳高端做网站公司
  • 商场网站建设模板网站开发的程序平台
  • 深圳有实力的seo公司南京广告宣传公司seo
  • 自贡北京网站建设南山网站制作联系电话
  • ps网站导航制作wordpress商品按钮代码
  • 盐城企业网站制作电商网站建设与运营哦
  • 买个域名自己做网站wordpress分类页打不开
  • 淘宝客模板 带程序自动采集 淘宝客网站源码 最新懒人淘宝客源码泉州市第一建设有限公司网站
  • 建设网站费用预算html网站开发
  • 做python一个网站杭州做网站的好公司哪家好
  • 厦门 网站建设 网站开发使用模板建站