千家信息网

java如何实现网络通信项目

发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇文章主要为大家展示了"java如何实现网络通信项目",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"java如何实现网络通信项目"这篇文章吧。一、网络通信
千家信息网最后更新 2025年01月19日java如何实现网络通信项目

这篇文章主要为大家展示了"java如何实现网络通信项目",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"java如何实现网络通信项目"这篇文章吧。

一、网络通信解决的问题

不同机器,不同程序之间的数据交换

二、计算机网络的概念

计算机网课是指将地理位置不同的具有独立功能的多台计算机及外部设备通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

三、IP

  • ip地址:InetAddress

  • 通过ip地址可以唯一定位一台网络上的计算机

  • 127.0.0.1/0.0.0.0 本机localhost,本机,自己的ip都是这个

  • ip地址分类:IPV4/IPV6

  • IPV4 127.0.0.1,4个字节组,32bit,40亿已用尽。

  • IPV6 128位。8个无符号整数,如:

2001:0bb2:aaaa:0015:0000:0000:1aaa:1312
  • 局域网中的IP地址:同一个网络中其他机器可以使用这个IP访问你的机器

  • 同一个区域多台计算机构成局域网->多个局域网构成城域网->多个城域网构成广域网

四、域名

域名如:www.baidu.com

因为ip地址不好记忆,且长期更换,所以由域名来代替ip地址方便记忆

DNS根服务器

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址互相映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串

五、端口

端口表示计算机上的一个程序或进程;

不同的进程有不同的端口号,用来区分软件

单个协议下端口号不能冲突

端口分离

公有端口0-1023

  • HTTP:80

  • HTTPS:43

  • FTP:21

  • Telent:23

程序注册端口:1024-49141,分配用户或者程序

  • Tomcat:8080

  • MySQL:3306

  • Oracle:1521

动态、私有:49152-65535

端口常用指令

netstat -ano #查看所有的端口netstat -ano|"5900" #查看指定的端口tasklist|findstr "8986" #查看指定端口的进程

六、利用telnet完成简单的网络通信

双端通信 C/S架构,一个为客户端,一个为服务端

Socket为Java中包装TCP连接的一个对象

代码如下

package com.lding.net;import java.io.IOException;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;/** * @program: Net * @description: Telnet实现信息传输 * @author: 王丁 * @date: 2021-09-15 22:45 **/public class TelnetServer {    public static void main(String[] args) throws IOException {        //创建一个Socket,Socket包装tcp连接        //指定端口        //端口:65536 0-1024端口尽量不要使用避免冲突        ServerSocket ssc=new ServerSocket(9999);        //监听客户端的Socket连接        System.out.println("服务端开启:ip:"+ssc.getInetAddress().getHostAddress()+"端口号:"+ssc.getLocalSocketAddress());        System.out.println("正在等待有缘人......");        //阻塞监听,直到有客户端连接上来        Socket socketClient = ssc.accept();        System.out.println("客户端已连接:"+socketClient.getInetAddress());        System.out.println("客户端端口"+socketClient.getPort());        //传输数据 IO流 字节流 字符流        //服务端发送给客户端消息:从客户端的Socket获取一个输出流,向这个输出流中写入数据作为消息内容        OutputStream output =socketClient.getOutputStream();        output.write(97);        output.write("Hello,Client!!!".getBytes());        //服务端从客户端接收消息:从客户端的Socket获取一个输入流,从这个输入流中读数据        InputStream input=socketClient.getInputStream();        while(true){            int readnum=input.read();            System.out.println((char)readnum);            output.write(("to_:"+(char)readnum).getBytes());        }    }}

运行过程:

服务端运行后一直等待连接,因为accept方法是一种阻塞监听

使用telnet连接端口

命令格式:telnet+空格+ip地址+端口号

连接成功后,阻塞结束

使用telnet发送的数据在idea运行端口可以实时收到,实现了客户端发送给数据到服务端,同时服务端也能把接收到的数据传回去

以上是"java如何实现网络通信项目"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

端口 客户 网络 通信 地址 服务 客户端 数据 网络通信 不同 域名 内容 口号 机器 程序 计算机 项目 局域 局域网 消息 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 重启数据库会刷新统计信息 魔兽数据库技术 平谷数据库安全防护系统 网络安全绘画大全 简单 单人软件开发看什么书 服务器主机不能经常关机吗 电厂网络安全管理办法 精美又简单的网络安全手抄报 花瓣邮箱pop服务器 魔兽世界电脑服务器维护 网络安全的教育目的 日本京都卖软件开发 苹果认证网络安全工程师 高并发调用同一个方法更新数据库 网络安全宣传活动方案记录表 中国电子网络安全与信息化 12本部落冲突数据库 武汉大学服务器申请 湛江商城软件开发电话 广东服务器防火墙批发 上海智能化软件开发定制平均价格 电脑服务器一直连接中怎么回事 用友sql附加数据库 手机和远程服务器交互 海口派正软件开发有限公司 aspenv11数据库修复 网络安全研究生对电脑要求 天津通信软件开发价钱 pda软件开发官方完整版 深圳海纳互联网科技有限公司
0