Java Socket通讯---网络基础
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通讯---网络基础的更多相关文章
- Java Socket编程----网络基础
详见:https://www.cnblogs.com/rocomp/p/4790340.html Java最初是作为网络编程语言出现的,其对网络提供了高度的支持,使得客户端和服务器的沟通变成了现实,而 ...
- java socket通讯(二)处理多个客户端连接
通过java socket通讯(一) 入门示例,就可以实现服务端和客户端的socket通讯,但是上一个例子只能实现一个服务端和一个客户端之间的通讯,如果有多个客户端连接服务端,则需要通过多线程技术来实 ...
- java socket 多线程网络传输多个文件
http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人 ...
- java socket编程(网络编程)
一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可 ...
- java socket通讯(一) 入门示例
一.入门 要想学习socket通讯,首先得知道tcp/ip和udp连接,具体可参考浅谈TCP/IP 和 UDP的区别 二.示例 首先新建了一个java工程,包括两个部分,客户端SocketClient ...
- java socket通讯
本来是打算验证java socket是不是单线程操作,也就是一次只能处理一个请求,处理完之后才能继续处理下一个请求.但是在其中又发现了许多问题,在编程的时候需要十分注意,今天就拿出来跟大家分享一下. ...
- 【TCP/IP】之Java socket编程API基础
Socket是Java网络编程的基础,深入学习socket对于了解tcp/ip网络通信协议很有帮助, 此文讲解Socket的基础编程.Socket用法:①.主要用在进程间,网络间通信. 文章目录如下: ...
- Socket编程 - 网络基础知识
API编程部分:http://www.cnblogs.com/Jimmy1988/p/7895213.html 1. 协议简介 此处,我们主要介绍Linux编程常用的三种协议(TCP/UDP/IP), ...
- Java中的网络基础
先来一张图记录一下大概思路,之后再更新具体的代码实现.基本上来说,前半部分自己会编写一个基于socket编程的多客户端dos聊天服务器,后半部分可以实现与已有的一些服务器(比如www.google.c ...
随机推荐
- Deutsch lernen (05)
1. die Wahrheit, -en 真理: - 真言,实情 Wir sollen die Wahrheit festhalten. 坚持:紧握 Im Wein liegt Wahrheit. ...
- iOS https 证书链获取
- (void)URLSession:(NSURLSession *)session didReceiveChallenge:(NSURLAuthenticationChallenge *)chall ...
- node.js的querystring模块
querystring主要是用于对字符串进行操作和解析.共有四个方法:querystring.parse,querystring.stringify,querystring.escape,querys ...
- spring学习地址
http://developer.51cto.com/art/201006/205212_2.htm
- LOJ #6041. 「雅礼集训 2017 Day7」事情的相似度 LCT+SAM+线段树
Code: #include<bits/stdc++.h> #define maxn 200003 using namespace std; void setIO(string s) { ...
- LA 3938
After doing Ray a great favor to collect sticks for Ray, Poor Neal becomes very hungry. In return fo ...
- Emacs学习笔记之主模式笔记
% 模式相关—————————————————————————— 这里经常用的也就各种语言相对应的模式,有些就没再写进去,比如f90等模式 Fundamental mode 基本模式 ...
- 用css3和canvas实现的蜂窝动画效果
近期工作时研究了一下css3动画和js动画.主要是工作中为了增强页面的趣味性,大家都有意无意的加入了非常多动画效果.当然大部分都是css3动画效果.能够gpu加速,这会降低移动端的性能需求. 今天主要 ...
- [Javascript] IntersectionObserver -- Lazy Load Images on a Website
When it comes to websites performance is king. How long it takes for a page to load can mean the dif ...
- 程序中的文件之沙盒以及plist文件的初步使用
沙盒是相对于"应用程序"的文件,也就是相相应app所在的页面的文件. 每个应用都有自己的应用沙盒(应用沙盒就是文件系统文件夹).与其它文件系统隔离.应用必须呆在在积极的沙盒中.其它 ...