文档章节

TCP传输协议使用

凯哥学堂
 凯哥学堂
发布于 2017/07/15 21:41
字数 430
阅读 5
收藏 0

TCP传输协议,也称之为套接字连接,比较安全,三次握手!,必须确保对方计算机存在,才能连接,而且是长时间连接。

缺点是传输速度有点慢。

你用 socket 去连接 ServiceSocaket 服务器端,ServiceSocaket 会创建一个,Sockets 然后你的Socket ,连接服务器端创建的Socket 最后你的Socket 和 服务器端的 Socket 都会创建一个 OutputStrea 和InputStream 流用来传输数据。

如下图:

image

ServerSocket :

服务端,如果Socket是从ServerSocket拿到的,那就是服务器连接端 。

ServerSocket ser=new ServerSocket(8080);
//建立好一个服务端,端口号为8080如果8080端口被占用了会报错,

端口占用错误。

image

Socket sock=ser.accept();
/* 监听客户端连接,监听8080端口,如果有客户端来连接他就会自动创建一个,Socket 然后客户端的Socket 和服务端的 Socket 会创建 输出和输入流,用来传输数据。
*/
InputStream input=ser.getInputStream();
OutputStream out=ser.getOutputStream();
// 获得输出和输入流。
out.flush(); // 这个方法是催系统赶紧把数据发送过去。

Socket:

用户端,自己创建的Socket,那你就是客户端。

Socket sock=new Socket( “ip” , 端口 );
// 创建用户端,指定好你要连接的服务器ip 和端口。

InpoutStream input=sock.getInputStream();
OutputStream out=sock.getOutputStream();
// 获得用户端的输出和输入流 ,用来传输数据。

out.flush(); // 这个方法是催系统赶紧把数据发送过去。

下图是用户端链接客服端的图解:

image

如下图 用户和服务器的数据传输:

image

InetAdderss ip=InetAddress.getLocalHost();

ip.getHostAddress(); // 获得本地ipv4的IP地址。

InetAddress ip=InetAddress.getByName(“www.kaige123.com”);
ip.getHostAddress(); // 获得kaige123 网址的ipv4的IP地址。 //使用DNS接续出来的。

image

© 著作权归作者所有

共有 人打赏支持
下一篇: U盘发现器
凯哥学堂
粉丝 18
博文 316
码字总数 284948
作品 0
东城
程序员
私信 提问
socket、tcp、udp、http 的认识及区别

一、先来一个讲TCP、UDP和HTTP关系的 1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有IP协议、ICMP协议、ARP协议、RARP协议和BOOTP协议。 在传输层中有TCP协议与...

张嘴吃药
2017/11/07
0
0
深入浅出-网络七层模型&&网络数据包

Posted by 微博@iOS音视频 原创文章,版权声明:自由转载-非商用-非衍生-保持署名 | Creative Commons BY-NC-ND 3.0 引言 今天回顾一下--网络七层模型&&网络数据包 网络基本概念 OSI模型 ...

iOS音视频
2016/02/13
0
0
tcp/ip socket http 区别

概述 OSI模型从下到上分为:物理层、数据链路层、网络层、传输层、会话层、表示层、应用层 OSI 七层详情 tcp/ip 实际上是一个协议簇,TPC/IP协议是传输层协议,主要解决数据如何在网络中传输...

thelastday
2016/11/17
12
0
计算机网络基础(五)——传输层和应用层

一、传输层 传输层的作用 传输层提供端到端的连接(IP层提供点到点的连接),为应用层的数据的传输进行保驾护航。 传输层的协议 --TCP(Transmission Control Protocol) 传输控制协议。该协议...

神奇的小哈
2017/11/20
0
0
TCP、UDP和HTTP详解

先来一个讲TCP、UDP和HTTP关系的 http:是用于www浏览的一个协议。 tcp:是机器之间建立连接用的到的一个协议。 1、TCP/IP是个协议组,可分为三个层次:网络层、传输层和应用层。 在网络层有I...

slagga
2016/10/29
80
0

没有更多内容

加载失败,请刷新页面

加载更多

IDE 插件新版本发布,开发效率 “biu” 起来了

近日,Cloud Toolkit正式推出了面向 IntelliJ 和 Eclipse 两个平台的新款插件,本文挑选了其中三个重大特性进行解读,点击文末官网跳转链接,可查看详细的版本说明。 本地应用一键部署到任何...

阿里云官方博客
35分钟前
2
0
我是怎样和Linux系统结缘并通过红帽RHCE认证的

我高考完当时就是选择的计算机科学与技术专业,上大学以后联想到的和计算机相关的就只有写代码,开发,网站,网页设计,就没有其他的了,当时学习写代码也都是在Windows上,什么C#、C++之类的...

linuxprobe16
36分钟前
1
0
Coding and Paper Letter(四十四)

资源整理。 1 Coding: 1.Rstudio2019年会“机器学习应用”的幻灯片,代码和数据 rstudio conf 2019 2.R语言包sparkxgb,Spark上XGBoost的R接口。 sparkxgb 3.自动SQL注入和数据库接管工具。 ...

胖胖雕
今天
3
0
Ubuntu最新的主要操作系统放弃32位支持?

现在是2018年,2019年即将到来——64位处理器已经成为主流很长一段时间了。如果你仍然使用32位的电脑,那么是时候把它扔进垃圾箱了。 我为所有基于Linux的操作系统维护者感到自豪,他们有勇气...

Linux就该这么学
今天
2
0
Fundebug发布Vue插件,简化BUG监控接入代码

摘要: 代码越短越好! 我们发布了fundebug-vue插件,可以简化Vue框架接入Fundebug的代码。 Vue如何接入Fundebug 1. 安装fundebug-javascript与fundebug-vue npm install fundebug-javascrip...

Fundebug
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部