java socket 通讯

参考慕课网:http://www.imooc.com/learn/161

一、网络基础知识

1.1 通讯示意图

1.2 TCP/IP协议

  • TCP/IP是世界上应用最为广泛的协议

    • 是以TCP/IP为基础的不同层次上多个协议的集合
    • 也称TCP/IP协议簇 或 TCP/IP协议栈
  • TCP:Transmission Control Protocol, 传输控制协议
  • IP:Internet Protocol,互联网协议

1.3 TCP/IP模型

1.4 IP地址

  • 为实现网络中不同计算机之间的通讯,每台机器都必须有一个唯一的表示--IP地址
  • IP地址格式:点分十进制,例如192.168.0.1
    • 32位二进制数
    • 为了便于记忆就分为四段,每段八位,中间用小数点隔开。
    • 每段八位的二进制数转成十进制,大小为0至255。

1.5 端口号

  • 用于区分不同的应用程序
  • 端口号范围为0~65535,其中0~1023为系统保留
  • IP地址和端口号组成了所谓的Socket,Socket就是网络上运行的程序之间双向通讯链路的终结点,是TCP和UDP的基础。(类似于打电话到总机再转接到分机号)

  • 常用默认端口号,http:80,ftp:21,telnet:23

1.6 Java中的网络支持

针对网络通讯的不同层次,java提供的网络功能有四大类

  • InetAddress:用于表示网络上的硬件资源
  • URL:统一资源定位符,通过url可以直接读取或写入网络上的数据
  • Sockets:使用TCP协议实现网络通讯的Socket相关类
  • Datagram:使用UDP协议,将数据保存在数据报中,通过网络进行通讯

Java Socket通讯---网络基础的更多相关文章

  1. Java Socket编程----网络基础

    详见:https://www.cnblogs.com/rocomp/p/4790340.html Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而 ...

  2. java socket通讯(二)处理多个客户端连接

    通过java socket通讯(一) 入门示例,就可以实现服务端和客户端的socket通讯,但是上一个例子只能实现一个服务端和一个客户端之间的通讯,如果有多个客户端连接服务端,则需要通过多线程技术来实 ...

  3. java socket 多线程网络传输多个文件

    http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人 ...

  4. java socket编程(网络编程)

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

  5. java socket通讯(一) 入门示例

    一.入门 要想学习socket通讯,首先得知道tcp/ip和udp连接,具体可参考浅谈TCP/IP 和 UDP的区别 二.示例 首先新建了一个java工程,包括两个部分,客户端SocketClient ...

  6. java socket通讯

    本来是打算验证java socket是不是单线程操作,也就是一次只能处理一个请求,处理完之后才能继续处理下一个请求.但是在其中又发现了许多问题,在编程的时候需要十分注意,今天就拿出来跟大家分享一下. ...

  7. 【TCP/IP】之Java socket编程API基础

    Socket是Java网络编程的基础,深入学习socket对于了解tcp/ip网络通信协议很有帮助, 此文讲解Socket的基础编程.Socket用法:①.主要用在进程间,网络间通信. 文章目录如下: ...

  8. Socket编程 - 网络基础知识

    API编程部分:http://www.cnblogs.com/Jimmy1988/p/7895213.html 1. 协议简介 此处,我们主要介绍Linux编程常用的三种协议(TCP/UDP/IP), ...

  9. Java中的网络基础

    先来一张图记录一下大概思路,之后再更新具体的代码实现.基本上来说,前半部分自己会编写一个基于socket编程的多客户端dos聊天服务器,后半部分可以实现与已有的一些服务器(比如www.google.c ...

随机推荐

  1. 用Python+selenium打开IE浏览器和Chrome浏览器的问题

    这几天在学Python+selenium自动化,对三大浏览器Firefox,Chrome和IE都做了尝试,也都分别下载了对应的webdriver,如:geckodriver.chromedriver. ...

  2. 我的最爱Lambda演算——开篇

    (在这个帖子的原始版本里,我试图用一个JavaScript工具来生成MathML.但不太顺利:有几个浏览器没法正确的渲染,在RSS feed里也显示的不好.所以我只好从头开始,用简单的文本格式重新写一 ...

  3. 【Python基础】条件语句

    Python条件语句是通过一条或多条语句的执行结果(True或者False)来决定执行的代码块. 可以通过下图来简单了解条件语句的执行过程: Python程序语言指定任何非0和非空(null)值为tr ...

  4. 给数组增加remove函数

    //给数组增加indexOf函数Array.prototype.indexOf = function(val) { for (var i = 0; i < this.length; i++) { ...

  5. Python中的sorted() 和 list.sort() 的用法总结

    只要是可迭代对象都可以用sorted . sorted(itrearble, cmp=None, key=None, reverse=False) =号后面是默认值 默认是升序排序的, 如果想让结果降 ...

  6. Spring Boot-整合redis(六)

    redis安装 参考:https://www.cnblogs.com/LQBlog/p/9214517.html 单机版 1.添加pom依赖 <!-- Spring Boot Reids 依赖 ...

  7. java extend 和 implements 的区别

    1. 在类的声明中,通过关键字extends来创建一个类的子类.一个类通过关键字implements声明自己使用一个或者多个接口.extends 是继承某个类, 继承之后可以使用父类的方法, 也可以重 ...

  8. 【ACM】nyoj_305_表达式求值_201308081018

    表达式求值时间限制:3000 ms  |  内存限制:65535 KB 难度:3描述 Dr.Kong设计的机器人卡多掌握了加减法运算以后,最近又学会了一些简单的函数求值,比如,它知道函数min(20, ...

  9. Java 代理学习笔记

    http://blog.csdn.net/mr_seaturtle_/article/details/52686516

  10. C#编程中,在页面上如何弹出确认删除对话框

    对于页面完成一个操作后,弹出一个对话框提示是否“操作成功”.举例如下:Response.Write("<script>alert('删除成功!')</script>& ...