`
Cherry007
  • 浏览: 16803 次
  • 性别: Icon_minigender_2
  • 来自: ChangSha
文章分类
社区版块
存档分类
最新评论

java通信总结--第一篇

 
阅读更多

1. IP 地址

      每台机器都有一个独立的IP地址,用于在网络中标识一台机器的位置。

 

2. 端口号

      0~65535个,用于识别机器上的某一个程序。0~1024 为知名端口。端口是否打开,用telnet命令。

 

3. 常用网络命令

ping---用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息

ping 127.0.0.1——这个ping命令被送到本地计算机的ip软件,该命令永不退出该计算机。如果没有做到这一点,就表示tcp/ip的安装或运行存在某些最基本的问题。

ping 本机ip——这个命令被送到你计算机所配置的ip地址,你的计算机始终都应该对该ping命令作出应答,如果没有,则表示本地配置或安装存在问题。出现此问题时,局域网用户请断开网络电缆,然后重新发送该命令。如果网线断开后本命令正确,则表示另一台计算机可能配置了相同的ip地址。

ping 局域网内其他ip

  ——这个命令应该离开你的计算机,经过网卡及网络电缆到达其他计算机,再返回。收到回送应答表明本地网络中的网卡和载体运行正确。但如果收到0个回送应答,那么表示子网掩码(进行子网分割时,将ip地址的网络部分与主机部分分开的代码)不正确或网卡配置错误或电缆系统有问题。

ping 网关ip

  ——这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。

ping 远程ip

  ——如果收到4个应答,表示成功的使用了缺省网关。对于拨号上网用户则表示能够成功的访问internet(但不排除ispdns会有问题)。

ping localhost

  ——localhost是个作系统的网络保留名,它是127.0.0.1的别名,每台计算机都应该能够将该名字转换成该地址。如果没有做到这一带内,则表示主机文件(/windows/host)中存在问题。

ping www.????.com

  ——对这个域名执行ping命令,你的计算机必须先将域名转换成ip地址,通常是通过dns服务器 如果这里出现故障,则表示dns服务器的ip地址配置不正确或dns服务器有故障(对于拨号上网用户,某些isp已经不需要设置dns服务器了)。顺便说一句:你也可以利用该命令实现域名对ip地址的转换功能。

  如果上面所列出的所有ping命令都能正常运行,那么你对你的计算机进行本地和远程通信的功能基本上就可以放心了。但是,这些命令的成功并不表示你所有的网络配置都没有问题,例如,某些子网掩码错误就可能无法用这些方法检测到。

ping命令的常用参数选项

  ping ip -t——连续对ip地址执行ping命令,直到被用户以ctrl+c中断。

  ping ip -l 2000——指定ping命令中的数据长度为2000字节,而不是缺省的32字节。

  ping ip -n——执行特定次数的ping命令。

netstat

  netstat用于显示与iptcpudpicmp协议相关的统计数据,一般用于检验本机各端口的网络连接情况。

  如果你的计算机有时候接受到的数据报会导致出错数据删除或故障,你不必感到奇怪,tcp/ip可以容许这些类型的错误,并能够自动重发数据报。但如果累计的出错情况数目占到所接收的ip数据报相当大的百分比,或者它的数目正迅速增加,那么你就应该使用netstat查一查为什么会出现这些情况了。

netstat -

  能够按照各个协议分别显示其统计数据。如果你的应用程序(如web浏览器)运行速度比较慢,或者不能显示web页之类的数据,那么你就可以用本选项来查看一下所显示的信息。你需要仔细查看统计数据的各行,找到出错的关键字,进而确定问题所在。

netstat -e

  ——本选项用于显示关于以太网的统计数据。它列出的项目包括传送的数据报的总字节数、错误数、删除数、数据报的数量和广播的数量。这些统计数据既有发送的数据报数量,也有接收的数据报数量。这个选项可以用来统计一些基本的网络流量)。

netstat -r

  ——本选项可以显示关于路由表的信息,类似于后面所讲使用route print命令时看到的 信息。除了显示有效路由外,还显示当前有效的连接。

netstat -a

  ——本选项显示一个所有的有效连接信息列表,包括已建立的连接(established),也包括监听连接请求(listening)的那些连接。

netstat -n

  ——显示所有已建立的有效连接。

netstat的妙用

  经常上网的人一般都使用icq的,不知道你有没有被一些讨厌的人骚扰得不敢上线,想投诉却又不知从和下手?其实,你只要知道对方的ip,就可以向他所属的isp投诉了。但怎样才能通过icq知道对方的ip呢?如果对方在设置icq时选择了不显示ip地址,那你是无法在信息栏中看到的。其实,你只需要通过netstat就可以很方便的做到这一点:当他通过icq或其他的工具与你相连时(例如你给他发一条icq信息或他给你发一条信息),你立刻在dos prompt下输入netstat -nnetstat -a就可以看到对方上网时所用的ipisp域名了。甚至连所用port都完全暴露了,如果你想给他一些教训,这些信息已经足够……

ipconfig

  ipconfig实用程序和它的等价图形用户界面——windows 95/98中的winipcfg可用于显示当前的tcp/ip配置的设置值。这些信息一般用来检验人工配置的tcp/ip设置是否正确。但是,如果你的计算机和所在的局域网使用了动态主机配置协议dynamic host configuration protocoldhcp——windows nt下的一种把较少的ip地址分配给较多主机使用的协议,类似于拨号上网的动态ip分配),这个程序所显示的信息也许更加实用。这时,ipconfig可以让你了解你的计算机是否成功的租用到一个ip地址,如果租用到则可以了解它目前分配到的是什么地址。了解计算机当前的ip地址、子网掩码和缺省网关实际上是进行测试和故障分析的必要项目。

最常用的选项

  ipconfig——当使用ipconfig时不带任何参数选项,那么它为每个已经配置了的接口显示ip地址、子网掩码和缺省网关值

  ipconfig /all——当使用all选项时,ipconfig能为dnswins服务器显示它已配置且所要使用的附加信息(如ip地址等),并且显示内置于本地网卡中的物理地址(mac)。如果ip地址是从dhcp服务器租用的,ipconfig将显示dhcp服务器的ip地址和租用地址预计失效的日期(有关dhcp服务器的相关内容请详见其他有关nt服务器的书籍或询问你的网管),其输出信息见图6的下半部分。

  ipconfig /releaseipconfig /renew——这是两个附加选项,只能在向dhcp服务器租用其ip地址的计算机上起作用。如果你输入ipconfig /release,那么所有接口的租用ip地址便重新交付给dhcp服务器(归还ip地址)。如果你输入ipconfig /renew,那么本地计算机便设法与dhcp服务器取得联系,并租用一个ip地址。请注意,大多数情况下网卡将被重新赋予和以前所赋予的相同的ip地址。

  如果你使用的是windows 95/98,那么你应该更习惯使用winipcfg而不是ipconfig,因为它是一个图形用户界面,而且所显示的信息与ipconfig相同,并且也提供发布和更新动态ip地址的选项 如果你购买了windows nt resource kitnt资源包),那么windows nt也包含了一个图形替代界面,该实用程序的名字是wntipcfg,和windows 95/98winipcfg类似。

nbtstat

  nbtstattcp/ip上的netbios统计数据)实用程序用于提供关于关于netbios的统计数据。运用netbios,你可以查看本地计算机或远程计算机上的netbios名字表格。

  常用选项:

  nbtstat -n——显示寄存在本地的名字和服务程序

  nbtstat -c——本命令用于显示netbios名字高速缓存的内容。netbios名字高速缓存用于存放与本计算机最近进行通信的其他计算机的netbios名字和ip地址对。

  nbtstat -r——本命令用于清除和重新加载netbios名字高速缓存。

  nbtstat -a ip——通过ip显示另一台计算机的物理地址和名字列表,你所显示的内容就像对方计算机自己运行nbtstat -n一样

  nbtstat -s ip——显示实用其ip地址的另一台计算机的netbios连接表。

net

  net命令有很多函数用于实用和核查计算机之间的netbios连接。这里我只介绍最常用的两个:net viewnet use

  net view unc——运用此命令,你可以查看目标服务器上的共享点名字。任何局域网里的人都可以发出此命令,而且不需要提供用户id或口令。unc名字总是以\\开头,后面跟随目标计算机的名字。例如,net view \\lx就是查看主机名为lx的计算机的共享点(见图15)。

net use 本地盘符 目标计算机共享点——本命令用于建立或取消到达特定共享点的映像驱动器的连接(如果需要,你必须提供用户id或口令)。

 

 

 

4. TCPUDP

 

 

        面向连接的TCP

面向连接就是在正式通信前必须要与对方建立起连接。TCP是基于连接的协议,也就是说,在正式收发数据前,必须和对方建立可靠的连接。一个TCP连接必须要经过三次对话才能建立起来,其中的过程非常复杂,我们这里只做简单、形象的介绍,你只要做到能够理解这个过程即可。我们来看看这三次对话的简单过程:主机A向主机B发出连接请求数据包:我想给你发数据,可以吗?,这是第一次对话;主机B向主机A发送同意连接和要求同步(同步就是两台主机一个在发送,一个在接收,协调工作)的数据包:可以,你什么时候发?,这是第二次对话;主机A再发出一个数据包确认主机B的要求同步:我现在就发,你接着吧!,这是第三次对话。三次对话的目的是使数据包的发送和接收同步,经过三次对话之后,主机A才向主机B正式发送数据。

TCP协议能为应用程序提供可靠的通信连接,使一台计算机发出的字节流无差错地发往网络上的其他计算机,对可靠性要求高的数据通信系统往往使用TCP协议传输数据。

面向非连接的UDP协议

面向非连接就是在正式通信前不必与对方先建立连接,不管对方状态就直接发送。和发短信相类似,只需要输入对方手机号就可以发送消息。

UDP是与TCP相对应的协议。它是面向非连接的协议,它不与对方建立连接,而是直接就把数据包发送过去!

UDP适用于一次只传送少量数据、对可靠性要求不高的应用环境。比如,我们经常使用“ping”命令来测试两台主机之间TCP/IP通信是否正常,其实“ping”命令的原理就是向对方主机发送UDP数据包,然后对方主机确认收到数据包,如果数据包是否到达的消息及时反馈回来,那么网络就是通的。UDP协议没有连接的过程,所以它的通信效果高;但也正因为如此,它的可靠性不如TCP协议高。QQ使用UDP发消息,因此有时会出现收不到消息的情况。

 

分享到:
评论

相关推荐

    javacomm20-win32.rar_JAVA comm不_Java 串口通信_javacomm20_javacomm20-

    总结来说,`javacomm20-win32`是一个针对Windows的Java串口通信实现,它基于Java Comm API,允许开发者通过Java代码控制串行端口进行数据传输。在使用时,需要注意兼容性问题,以及可能需要配合操作系统驱动才能正常...

    mysql-connector-java-3.0.16-ga-bin.jar

    MySQL Connector/J是MySQL数据库与Java应用程序之间的重要桥梁,它是一个实现了Java Database Connectivity (JDBC) API的驱动程序,使得Java开发者能够轻松地在Java应用中访问MySQL数据库。"mysql-connector-java-...

    mysql-connector-java-5.1.22-bin.jar

    1. **下载与添加依赖**:从MySQL官方网站或者第三方源获取此jar包,并将其添加到Java项目的类路径中。对于Maven项目,可以在pom.xml文件中添加对应的依赖条目。 2. **建立连接**:使用JDBC,首先要通过`...

    mysql-connector-java-5.1.15-bin.jar.zip

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java`则是MySQL官方提供的Java数据库连接器,用于在Java应用程序中与MySQL服务器进行通信。在这个特定的案例中,我们讨论的是`mysql-...

    mysql-connector-java-5.1.25-bin.jar

    首先,`mysql-connector-java`是MySQL官方发布的Java数据库连接器(JDBC driver),它遵循Java Database Connectivity (JDBC) API标准,使得Java程序能够无缝地与MySQL数据库进行通信。`mysql-connector-java-5.1.25...

    ckeditor-java-core-3.5.3

    在Java环境下,可以创建Java插件与CKEditor的JavaScript部分进行通信,实现更复杂的业务逻辑。 6. **版本兼容性** 版本号"3.5.3"表明这是CKEditor的一个较旧版本,发布于2011年。虽然它可能缺少一些较新版本中的...

    mysqll连接所需jar包mysql-connector-java-5.1.23-bin

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java`是官方提供的Java数据库连接器,用于在Java应用程序中与MySQL服务器进行通信。本文将详细介绍`mysql-connector-java-5.1.23-bin.jar`这...

    mysql-connector-java-5.1.7-bin.jar.rar

    1. **下载驱动**:首先,你需要从MySQL官网或者第三方资源网站下载对应的JAR包。在这个例子中,下载的是`mysql-connector-java-5.1.7-bin.jar`。 2. **引入依赖**:将下载的JAR文件添加到项目的类路径中。这可以...

    selenium-java-4.0.0-alpha-6_javaselenium_

    标题 "selenium-java-4.0.0-alpha-6_javaselenium_" 指的是 Selenium 的一个 Java 版本的软件包,具体是 4.0.0 的第六个 Alpha 版本。Selenium 是一个广泛使用的自动化测试工具,主要用于 web 应用程序的测试。它...

    mysql-connector-java-5.1.30-bin.jar

    MySQL是世界上最受欢迎的关系型数据库管理系统之一,而`mysql-connector-java-5.1.30-bin.jar`则是MySQL提供的一款Java驱动程序,用于在Java应用程序中连接和操作MySQL数据库。这款驱动程序遵循JDBC(Java Database ...

    java与Melsec A-1E通信 java与PLC通信 源码,java与三菱PLC JAVA与Melsec A-1通信

    IOT开源网关、SCADA取数开源、PLC数据采集java与三菱 A-1E PLC通信 java与Melsec PLC通信 全开源 springboot与Melsec PLC A-1E通信上位机三菱PLC通信java与三菱PLC JAVA与Melsec A-1E通信 java与PLC通信 源码文件...

    Java技术教程--基础篇

    在基础篇中,你会学习到如何创建和运行你的第一个Java程序,即经典的"Hello, World!"示例。接着,你会了解到变量、数据类型、运算符、控制流程语句(如if-else、for、while循环)等基础知识。此外,类和对象的概念也...

    java-client-1.6.1.jar

    这个版本号1.6.1表示这是该库的第1次重大更新、第6次次要更新和第1次补丁版本。这种命名方式遵循了通常的 Semantic Versioning(语义版本管理)规范。 `java-client-1.6.1-source.jar`则是该客户端库的源代码版本,...

    java技能百练--游戏篇

    1. **图形渲染**:使用Java的2D和3D图形API,如Java2D和JavaFX,或者利用第三方库如JOGL(Java Bindings for OpenGL)进行高级图形渲染。理解坐标系统、图形变换、颜色管理等基础知识至关重要。 2. **游戏逻辑**:...

    基于Java的USB-HID设备通信设计与实现.pdf

    【Java调用USB-HID设备通信】在Java中直接与USB-HID(Human Interface Device)设备通信是一项挑战,因为Java语言本身不支持指针。为了克服这一难题,开发者可以利用第三方框架,比如JNative,来实现在Windows平台上...

    VODUploadDemo-java-1.4.14_Java

    这个项目对开发者来说,是一个学习VOD服务集成的宝贵资源,通过研究源代码,他们可以了解到如何在Java应用中处理文件上传、网络通信以及与云服务的交互。同时,它也为构建自己的视频上传功能提供了基础和灵感。

    allure-java-commons-1.4.0.RC4.zip

    标题 "allure-java-commons-1.4.0.RC4.zip" 提示我们这是一个与Allure框架相关的Java库的压缩包,版本为1.4.0.RC4(Release Candidate 4)。Allure是一个流行的测试报告框架,它提供美观且详尽的测试结果展示,便于...

    mysql-connector-java-5.1.44-bin.jar

    `mysql-connector-java-5.1.44-bin.jar`是MySQL提供的Java数据库连接器,用于让Java程序与MySQL数据库进行通信。这个jar包包含了所有必要的类和库,使得Java开发者能够利用JDBC(Java Database Connectivity)接口...

    mysql-connector-java-6.0.3-bin.jar

    MySQL是世界上最受欢迎的开源数据库系统之一,而`mysql-connector-java-6.0.3-bin.jar`是一个Java数据库连接器,允许Java应用程序与MySQL数据库进行交互。这个JDBC(Java Database Connectivity)驱动程序是MySQL...

    JAVA程序员必读--基础篇chm

    2. **环境搭建**:学习Java的第一步是安装Java Development Kit (JDK),配置好环境变量,包括`JAVA_HOME`、`PATH`和`CLASSPATH`,以便编译和运行Java程序。 3. **语法基础**:Java的基本语法包括数据类型(如整型、...

Global site tag (gtag.js) - Google Analytics