一、TCP

1.TCP又叫做套接字,传输安全,速度慢。

TCP和UTP是网络的传输协议,跟java没什么关系,没有说用java做的客户端必须连接java做的服务器,我们可以用c和c++做客户端,直接连接到java做的服务器都可以,只要都遵守TCP的协议规则就行。

2.TCP的连接

TCP有三次握手的规则,三次握手是?

TCP连接服务器的时候要来来回回三次询问,第一次问服务器是否存在网络是否通畅,服务器回答我存在,第二次询问服务器是否能进行连接啊,服务器说可以连接。第三次就是完成连接。TCP连接模式就是,客户端传输一个数据到服务器,服务器就会回客户端收到数据了,这样客户端才会进行下一个文件的传输,这样来来回回的确认才能确保文件安全无误的传输到对方的电脑上。

  1. ServerSocket是服务端,SocKet是通讯员,服务器就相当于一个很大的插板,插板上有很多个插口,而ServerSocket就相当于是一个很大的插板,插板上有很多个插口,你们都可以从这个插口上取得联系,一些电气设备需要来连接这个插板,这时电气设备就的插口就需要跟插板的插口进行连接。这样就相当于电气设备的插口是Socket(通讯员),插板上的插口也相当于是Socket(通讯员),而这个可以容纳许多Socket的插板就相当于是SeverSocket(服务端)。最后连接在一起就是Socket(通讯员)对Socket(通讯员),如果还有一个电器设备要连接在插板上就相当于连接到第二个插口上。

4.ServerSocket建立一个服务器IP是22.5.6.7端口为8989,建立一个客户端连接IP为22.5.6.7:8989的计算机这个客户端的Socket发出请求要连接SeverScoket服务器,ServerSocket就会马上产生一个对象Socket,这个产生的对象Scoket就会与客户端的Scoket建立通讯连接。一旦客户端与服务端建立好了连接,就会产生一个InputStream和OutputStream的通道。

5.当客户端通过电脑固定的IP127.0.0.1端口8080对网络请求访问服务器,通过accept()方法来监听有没有客户端来连接,如果有客户来连接就马上产生Socket对象,Socket对象就会产生两个流一个是InputStream和OutputStream流,相应的客户端也会产生InputStream和OutputStream流来进行连接,服务器ServerSocket要跟客户端说话就通过OutputStream来传输,相应的客户端Socket要跟服务器说也是通过OutputStream来传输。

6.代码

(1)创建一个服务器,用浏览器客户端来进行连接。

创建一个服务器端口号为8080,等待客户端来连接,连接时就会产生Socket对象,这个时候就通过InputStream和OutputStream拿出来,准备好一个字节数组,准备好读取客户端传过来的数据,客户端传过来信息通过String转换成字符,然后打印出去。浏览器就是用TCP协议,浏览器也是一个客户端。用浏览器这个客户端访问服务器时会告诉服务器你电脑的一些信息。

(2)

这就是来回询问。

(3)多网卡服务器的目的是:假设一个服务有两个网卡,一个连接内网连接内网服务器,进行内网服务,一个连接外网连接着国家骨干网。这样国家骨干网可以连接过来,城域网也可以连接过来。

TCP服务通讯的更多相关文章

  1. go --socket通讯(TCP服务端与客户端的实现)

    这篇文章主要使用Go语言实现一个简单的TCP服务器和客户端.服务器和客户端之间的协议是 ECHO, 这个RFC 862定义的一个简单协议.为什么说这个协议很简单呢, 这是因为服务器只需把收到的客户端的 ...

  2. Java网络编程(TCP服务端)

    /* * TCP服务端: * 1.创建服务端socket服务,并监听一个端口 * 2.服务端为了给客户端提供服务,获取客户端的内容,可以通过accept方法获取连接过来的客户端对象 * 3.可以通过获 ...

  3. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  4. 分布式服务通讯框架XXL-RPC

    <分布式服务通讯框架XXL-RPC>    一.简介 1.1 概述 XXL-RPC 是一个分布式服务通讯框架,提供稳定高性能的RPC远程服务调用功能.现已开放源代码,开箱即用. 1.2 特 ...

  5. c#Socket Tcp服务端编程

    创建一个socket服务类,绑定监听端口, 然后创建一个线程listen连接的客户端, 把监听到的客户端加入dictionary里面,以便于管理, 同时创建receive线程,循环接收数据加入list ...

  6. TCP协议通讯工作原理

    TCP协议通讯工作原理   一.TCP三次握手 传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议.面向连接是指一次正常的TCP传输需要通过在TCP ...

  7. YxdIocp包含有支持大并发的TCP服务组件、HTTP服务组件、UDP服务组件、WebSocket服务组件

    Delphi Windows IOCP 通讯模型封装,基于DIOCP.YxdIocp包含有支持大并发的TCP服务组件.HTTP服务组件.UDP服务组件.WebSocket服务组件,和TCP.UDP等基 ...

  8. PHP Swoole-Demo TCP服务端简单实现

    tcp 服务端简单demo与client . <?php /** * author : rookiejin <mrjnamei@gmail.com> * createTime : 2 ...

  9. BeetleX之TCP服务应用详解

    BeetleX是.net core平台下的一个开源TCP 通讯组件,它不仅使用简便还提供了出色性能的支持,可以轻易让你实现上百万级别RPS吞吐的服务应用.组件所提供的基础功能也非常完善,可以让你轻易扩 ...

随机推荐

  1. Scrapy教程--豆瓣电影图片爬取

    一.先上效果 二.安装Scrapy和使用 官方网址:https://scrapy.org/. 安装命令:pip install Scrapy 安装完成,使用默认模板新建一个项目,命令:scrapy s ...

  2. java基础(二章)

    java基础(二章) 一,变量 1.变量是内存中的一个标识符号,用于存储数据 2.变量命名规则 l  必须以字母.下划线 _ .美元符号 $ 开头 l  变量中,可以包括数字 l  变量中,不能出现特 ...

  3. nodejs实战:使用原生nodeJs模块实现静态文件及REST请求解析及响应(基于nodejs6.2.0版本,不使用express等webMVC框架 )

    一.准备工作 1.安装nodejs 首先你需要安装nodeJs 那么nodejs官网:http://nodejs.cn/,下载相应版本,一步一步安装. 二.使用nodejs开发服务器后台应用 1.创建 ...

  4. 用Backtrack进行渗透测试评估

    Web应用程序的分析在渗透测试和漏洞评估中发挥了重要的作用.确定Web应用程序的正确信息(例如使用的插件,CMS类型等)都可以帮助测试者使用准确的漏洞来测试,能够降低整个渗透测试漏洞评估所花费的时间. ...

  5. jquery不兼容input的change事件处理

    因为客户使用系统一般都是用IE版本的浏览器,所以每次在chrome下调试之后都要在IE走一遍; 这次准备在选择开始时间或者结束时间之后在下方能及时给出对应的天数,但是在IE8下试了change时间根本 ...

  6. Bootstrap 常用组件汇总

    Bootstrap 官方文档:http://www.bootcss.com/ Bootstrap Multiselect 多选下拉组件 官方文档:http://www.kuitao8.com/demo ...

  7. socket套接字编程

    一.概述 1.socket是一种进程间通信方式,既可以用于一台机器,也可以用于网络.常用语C/S模型. 2.可以跨越Windows和Linux操作系统,可以跨越不同语言. 3.注意网络字节序和主机字节 ...

  8. springmvc 之 DispatcherServlet

    DispatcherServlet说明 使用Spring MVC,配置DispatcherServlet是第一步. DispatcherServlet是一个Servlet,所以可以配置多个Dispat ...

  9. Google帝国研究——Google的产业构成

                                                                                        Google帝国研究--Goog ...

  10. 基于jQuery封装的分页组件

    前言: 由于项目需要实现分页效果,上jQuery插件库找了下,但是木有找到自己想要的效果,于是自己封装了个分页组件. 思路: 主要是初始化时基于原型建立的分页模板然后绑定动态事件并实现刷新DOM的分页 ...