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

乌鲁木齐最新消息seo行业网

乌鲁木齐最新消息,seo行业网,做任务 网站,品牌服装网站建设现状2025.3.2学习内容 网络编程 一 计算机网络基础知识 1.1 IP地址 IP:唯一标识网络上的每一台计算机 IP组成:32位,由4个8位二进制数组成 二进制不方便记忆,转变为十进制进行使用的 192.168.1.200 1.2 IP组成 IP共分为 A B C D…

2025.3.2学习内容

网络编程

在这里插入图片描述

一 计算机网络基础知识

1.1 IP地址

在这里插入图片描述

IP:唯一标识网络上的每一台计算机

IP组成:32位,由4个8位二进制数组成

二进制不方便记忆,转变为十进制进行使用的

192.168.1.200

1.2 IP组成

IP共分为 A B C D E类

IP地址 = 网络地址 +主机地址

网络地址:标识计算机或网络设备所在的网段

主机地址:标识特定主机或网络设备

在这里插入图片描述

1.3 IP的配置及检测

查看IP地址,检测网络是否畅通

查看本机IP地址,win+r 输入cmd ,输入命令

ipconfig

去查询

测试网络是否通畅

ping  目标IP地址

DNS域名解析:DNS:Domain Name System,域名系统

将IP地址转换为域名

1.4网络服务器

在这里插入图片描述

二 Socket简介

2.1 什么是Socket?

Socket的底层机制复杂,Java平台提供了一些简单的API,可以更简单有效的使用Socket开发而无需了解底层机制

通信链路的端点就被称为“套接字”(英文名Socket)

是提供给应用程序的接口

2.2Socket编程

在这里插入图片描述

2.2.1Socket编程步骤

在这里插入图片描述

2.3 Socket编程代码示例
2.3.1 发送字符串

创建一个服务项目project_server,再创建一个客户端项目project_client

服务器端代码:

 public static void main(String[] args) {//1、创建服务器的端点对象try {ServerSocket serverSocket = new ServerSocket(5000);//2 、监听并接收客户端的socket请求Socket socket = serverSocket.accept(); //客户端//3、从socket中获取二进制输入流信息InputStream is = socket.getInputStream(); //字节流Reader reader = new InputStreamReader(is);BufferedReader br = new BufferedReader(reader);String line=null;while ((line=br.readLine())!=null){System.out.println("客户端说:"+line);}//服务器端给客户端的反馈OutputStream os = socket.getOutputStream();//输出流对象Writer writer=new OutputStreamWriter(os);BufferedWriter bw=new BufferedWriter(writer);String str="用户名和密码正确,欢迎登录!";bw.write(str);bw.flush();bw.close();writer.close();os.close();
//br.close();reader.close();is.close();socket.close();serverSocket.close();} catch (IOException e) {e.printStackTrace();}}

客户端代码:

 public static void main(String[] args) {// 登录场景://1、客户端的端点try {Socket socket=new Socket("localhost",5000); //localhost代码本机OutputStream os = socket.getOutputStream();//输出流对象Writer writer=new OutputStreamWriter(os);BufferedWriter bw=new BufferedWriter(writer);String str="用户名:admin,密码:123456";bw.write(str);bw.flush();socket.shutdownOutput(); //停掉输出流//原因: 客户端要接收服务端的流信息,需要暂时停掉输出流//客户端接收InputStream is = socket.getInputStream(); //字节流Reader reader = new InputStreamReader(is);BufferedReader br = new BufferedReader(reader);String line=null;while ((line=br.readLine())!=null){System.out.println("服务说:"+line);}br.close();reader.close();is.close();//bw.close();writer.close();os.close();socket.close();} catch (IOException e) {e.printStackTrace();}}
2.3.2 发送对象

在客户端与服务器端都创建一个User对象,实现Serializable接口

import java.io.Serializable;public class User implements Serializable {private String userNo;private String userPwd;public User() {}public User(String userNo, String userPwd) {this.userNo = userNo;this.userPwd = userPwd;}public String getUserNo() {return userNo;}public void setUserNo(String userNo) {this.userNo = userNo;}public String getUserPwd() {return userPwd;}public void setUserPwd(String userPwd) {this.userPwd = userPwd;}
}

客户端代码:

 public static void main(String[] args) {try {Socket socket=new Socket("localhost",5001);OutputStream os = socket.getOutputStream();ObjectOutputStream oos=new ObjectOutputStream(os);User u1=new User("15386880458","123");oos.writeObject(u1);oos.flush();oos.close();os.close();socket.close();} catch (IOException e) {e.printStackTrace();}}

服务器端代码:

 public static void main(String[] args) {try {ServerSocket serverSocket=new ServerSocket(5001);Socket socket = serverSocket.accept();InputStream is = socket.getInputStream();ObjectInputStream ois=new ObjectInputStream(is);Object object = ois.readObject();User user=(User)object;System.out.println("客户端发送的对象,账号是:"+user.getUserNo()+",密码是:"+user.getUserPwd());ois.close();is.close();socket.close();serverSocket.close();} catch (IOException | ClassNotFoundException e) {e.printStackTrace();}}
2.3.3 多线程接收多客户端请求

服务器端创建线程类:

import java.io.*;
import java.net.InetAddress;
import java.net.Socket;public class ClientThread extends Thread {private Socket socket; //声明一个Socket对象public ClientThread(Socket socket) {this.socket = socket;}@Overridepublic void run() {try {InetAddress address = socket.getInetAddress(); //此对象可以获取客户端的IP地址String ip = address.getHostAddress(); //获取客户端的IP地址InputStream is = socket.getInputStream();Reader reader = new InputStreamReader(is);BufferedReader br = new BufferedReader(reader);String line = null;while ((line = br.readLine()) != null) {System.out.println(ip + "客户端:" + line);}br.close();reader.close();is.close();socket.close();} catch (IOException e) {e.printStackTrace();}super.run();}
}

服务器端Main方法

 public static void main(String[] args) {try {ServerSocket serverSocket=new ServerSocket(8081);while (true){Socket socket = serverSocket.accept();//创建一个线程:线程中包含的代码是从socket中读取流信息ClientThread ct=new ClientThread(socket); //调用类的无参构造方法ct.start();}} catch (IOException e) {e.printStackTrace();}}

客户端

public static void main(String[] args) {try {Socket socket=new Socket("localhost",8081); //localhost代码本机OutputStream os = socket.getOutputStream();//输出流对象Writer writer=new OutputStreamWriter(os);BufferedWriter bw=new BufferedWriter(writer);String str="你吃饭了吗?";bw.write(str);bw.flush();bw.close();writer.close();os.close();socket.close();} catch (IOException e) {e.printStackTrace();}}
http://www.dtcms.com/wzjs/479705.html

相关文章:

  • 福州app开发制作百度免费优化
  • 网页制作工作要求seo是什么意思蜘蛛屯
  • 网站建设部门宣言识别关键词软件
  • 做网站用虚拟主机好吗seo经理招聘
  • 东莞核酸检测收费seo线上培训班
  • wordpress本地运行环境百度seo快排软件
  • 美妆网站怎么做济南专业seo推广公司
  • 高港区企业网站建设在线注册免费域名
  • 20个外国平面设计网站2022年7到8月份的十大新闻
  • 绵阳精品网站建设免费推广的网站有哪些
  • 南京品牌网站建设多合一seo插件破解版
  • 网站模板 html网站搭建需要多少钱
  • 全国最新实时疫情南昌seo建站
  • 怎么做兼职网站吗推广app大全
  • 最强的网站建设电话天津抖音seo
  • wordpress rpc漏洞seo引擎优化教程
  • 寮步网站仿做网站seo教程
  • 网站开发的经济可行性分析如何做网站推广及优化
  • 全省政府网站建设培训会优化大师官网入口
  • wordpress站点logo多大合适个人网页制作成品欣赏
  • 可靠的商城网站建设外包公司值得去吗
  • 如何在百度推广网站google网站入口
  • 网站信息推广的策略有哪些seo推广排名平台有哪些
  • 为什么做电影网站没有流量吗自己接单的平台
  • html论坛网站模板人工智能培训心得
  • 沈阳做网站的公司排行百度竞价被点击软件盯上
  • 网页设计与制作课件和素材百度seo排名报价
  • wordpress建站好吗推广员网站
  • 怎样做网络推广优化济南seo优化外包服务公司
  • 做网站需要报备什么条件百度一下官网首页百度一下百度