简介

网络无处不在,移动互联时代也早已到来,单机版程序慢慢的已没有生命力,所有的程序都要能够访问网络,比如 QQ 网络聊天程序、迅雷下载程序等,这些程序都要同网络打交道,本次将与各位小伙伴们分享的就是 Java 中的网络编程—— Socket 通信。

网络基础知识

两台计算机要通过网络进行通信,必须具备如图所示的条件

a、唯一的标识(IP地址);

b、需要共同的语言(协议);

c、辨别不同应用程序(端口号)。

其中的重要概念如下:

1、IP地址

每台计算机的唯一标识,用来区分网络中的不同主机,是两台主机进行网络通信必不可少的。

2、协议

TCP/IP协议:目前世界上应用最为广泛的协议。是以TCP和IP为基础的不同层次上多个协议的集合。 也称为:TCP/IP协议族 或者 TCP/IP协议栈。

TCP: Transmission Control Protocol 传输控制协议

IP :Internet Protocol 互联网协议

TCP/IP模型(网络分层),分层为:

  1. 物理层:网线...等直接可以接触到的。
  2. 数据链路层
  3. 网络层
  4. 传输层:TCP/IP协议
  5. 应用层:HTTP超文本传输协议、FTP文件传输协议、SMTP简单邮件传送协议、Telnet远程登录服务。

3、端口号

  • 用于区分不同的应用程序;
  • 端口号范围为0-65535,其中0-1023为系统所保留;
  • IP地址和端口号组成了所谓的Socket,Socket是网络上运行的程序之间双向通信链路的终结点,是TCP和UDP的基础。
  • 常用端口号-- http: 80; ftp:21; telnet: 23(可以记忆)。

---------JAVA中的网络支持

针对网络通信的不同层次,Java提供的网络功能有四大类:

1、InetAddress:用于标识网络上的硬件资源。就是标识IP地址。

2、URL:统一资源定位符---通过URL可以直接读取或写入网络上得数据。

3、Sockets:使用TCP协议实现网络通信的Socket相关的类。

4、Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通信。

目录

这里列出Socket总内容的目录,点击相应目录就可以跳转到相应的博文,不出意外是日更,请加加关注第一时间收到更新信息哦~

还有建议收藏这篇博文哦,当成目录可以很容易跳转到相应内容,更加方便快捷( •̀ ω •́ )y

【Socket编程】Java通信是这样炼成的的更多相关文章

  1. UDP协议网络Socket编程(java实现C/S通信案例)

    我的博客园:https://www.cnblogs.com/chenzhenhong/p/13825286.html 我的CSDN博客:https://blog.csdn.net/Charzous/a ...

  2. Flex Socket与Java通信实例说明(转)

    Flex Socket与Java通信实例说明(转) 这两天一直在flex的Socket ,现在终于懂了很多.由浅到深一步一步深入.慢慢体会实例,虽然实例都是在网上找的,但也经过了我的测试.我比较喜欢注 ...

  3. Java Socket编程----通信是这样炼成的

    Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Socket.像大家熟悉的QQ.MSN都使用了Socket相关的技术. ...

  4. socket编程-java

    一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...

  5. Socket编程 -- 全双工通信

    //这是客户端package com.test; import java.io.BufferedReader; import java.io.IOException; import java.io.I ...

  6. Linux下TCP网络编程与基于Windows下C#socket编程间通信

    一.linux下TCP网络编程基础,需要了解相关函数 Socket():用于套接字初始化. Bind():将 socket 与本机上的一个端口绑定,就可以在该端口监听服务请求. Listen():使s ...

  7. Java:基于TCP协议网络socket编程(实现C/S通信)

    目录 一.前言:TCP原理简介 二.Socket编程通信 三.TCP服务器端(具体代码) 四.TCP客户端(具体代码) 五.通信效果演示 六."创意"机器人:价值一个亿的AI核心代 ...

  8. java多线程实现TCP网络Socket编程(C/S通信)

    目录 开篇必知必会 一.多线程技术 二.实现多线程接收 1.单线程版本 2.多线程版本 三.多线程与进程的关系 四.客户端界面完整代码 五.多线程通信对比 最后 开篇必知必会 在前一篇<Java ...

  9. Java Socket编程基础篇

    原文地址:Java Socket编程----通信是这样炼成的 Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而在网络编程中,使用最多的就是Sock ...

随机推荐

  1. c++ STL 容器——序列

    STL中11个容器类型分别是deque,list,queue,priority_queue,stack,vector,map,multimap,set,multiset,bieset(在比特级处理数据 ...

  2. NYOJ 5 Binary String Matching

    Binary String Matching 时间限制:3000 ms  |  内存限制:65535 KB 难度:3   描述 Given two strings A and B, whose alp ...

  3. jQueryGantt与DHTMLX-Gantt的对比

    对比内容|jQueryGantt|DHTMLX-Gantt 本地化(语言)|封装了语言包,(仅英语)要想改变要重新编写|支持多种语言包,并且形成了完整的css文件 皮肤|只有一套现成的皮肤,逍遥该表喲 ...

  4. CentOS 7 服务器配置--配置iptables防火墙

    #检查服务器是否安装了iptables systemctl status iptables.service #安装iptables yum install -y iptables #更新iptable ...

  5. M4——GPIO配置

    1.GPIO 简述: 通用输入输出(General Purpose Input Output)的简称,就是芯片引脚可以通过他们输出高电平或者低电平,也可以通过他们读取引脚的电平状态. 以STM32F4 ...

  6. .NET Core迁移技巧之web.config配置文件

    大家都知道.NET Core现在不再支持原来的web.config配置文件了,取而代之的是json或xml配置文件.官方推荐的项目配置方式是使用appsettings.json配置文件,这对现有一些重 ...

  7. C#多线程爬虫抓取免费代理IP

    这里用到一个HTML解析辅助类:HtmlAgilityPack,如果没有网上找一个增加到库里,这个插件有很多版本,如果你开发环境是使用VS2005就2.0的类库,VS2010就使用4.0,以此类推.. ...

  8. JavaScript 学习笔记 - LocalStorage

    前言 本文主要介绍本地存储的基本使用,以及它和 Cookie.SessionStorage 的区别. 简单回顾 Cookie 在 HTML5 之前,本地存储数据一般是通过 Cookie 来完成的.我们 ...

  9. Springboot+resteasy定时任务

    定时任务 需求:按每日统计点赞数.评论数.热度的增加量(不是现有量) 1.每天零点执行:首先遍历出user的统计字段 然后插入到新创建的表中. 2.每天一点执行:根据时间段将两表的数据相减创建增量字段 ...

  10. GBK和UTF8的区别

    GBK的文字编码是双字节来表示的,即不论中.英文字符均使用双字节来表示,只不过为区分中文,将其最高位都定成1. UTF-8编码则是用以解决国际上字符的一种多字节编码,它对英文使用8位(即一个字节),中 ...