socket

网络通讯三要素

  • IP地址(主机名)

网络中设备的标示

不易记忆,可以用主机名

本地回环地址:127.0.0.1 主机名:localhost

每台计算机都有一个 127.0.0.1

如果 127.0.0.1 ping 不同,说明网卡不工作

如果本机地址 ping 不同,说明网线坏了

  • 端口号

用于标示进程的逻辑地址,不同进程的标示

有效端口:0~65535

其中 0~1024由系统使用或者保留端口

开发中不要使用 1024 以下的端口

  • 传输协议

TCP(传输控制协议)

UDP(数据报文协议)

通过 IP 找机器,通过 端口 找程序,通过 协议 确定如何传输数据

常见网络协议

协议

端口

说明

HTTP

80

超文本传输协议

HTTPS

443

HTTP+SSL,HTTP的安全版

FTP

20/21/990

文件传输协议

POP

110

邮局协议

SMTP

25

简单邮件传输协议

telnet

23

远程终端协议

SSH

22

Secure Shell

TCP & UDP

  • UDP(用户数据报协议)

只管发送,不确认对方是否接收到

将数据及源和目的封装成数据包中,不需要建立连接

每个数据报的大小限制在64K之内

因为无需连接,因此是不可靠协议

不需要建立连接,速度快

应用场景:多媒体教室/网络流媒体

  • TCP(传输控制协议)

建立连接,形成传输数据的通道

在连接中进行大数据传输(数据大小不收限制)

通过三次握手完成连接,是可靠协议,安全送达

必须建立连接,效率会稍低

Socket(套接字层、插座)

1  Socket就是为网络服务提供的一种机制

2  通信的两端都是 Socket

3  网络通信其实就是 Socket 间的通信

4  数据在两个 Socket 间通过 IO 传输

Socket 是纯C语言的,是跨平台的

step 3 socket的更多相关文章

  1. Update(Stage4):Spark Streaming原理_运行过程_高级特性

    Spark Streaming 导读 介绍 入门 原理 操作 Table of Contents 1. Spark Streaming 介绍 2. Spark Streaming 入门 2. 原理 3 ...

  2. 转载自~浮云比翼:Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)

    Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)   介绍:什么是线程,线程的优点是什么 线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可 ...

  3. [PHP-Socket] Socket Programming in PHP

    Simple Client-Server socket program in PHP Introduction Sockets are used for interprocess communicat ...

  4. Linux下 ntp 时间同步服务ntpd 出现 the NTP socket is in use, exiting 解决

    [root@EPDDB log]# [root@EPDDB log]# ntpdate 10.154.8.200 6 Sep 09:35:09 ntpdate[30210]: the NTP sock ...

  5. loadruner报错:Step download timeout(120 seconds)的一个解决方法

    一个网友问了我一个问题如下: loadruner报错:Error -27728: Step download timeout (120 seconds) 如何解决 语 法检查通过,但是在并发执行一个查 ...

  6. C Socket Programming for Linux with a Server and Client Example Code

    Typically two processes communicate with each other on a single system through one of the following ...

  7. Java NIO Socket 非阻塞通信

    相对于非阻塞通信的复杂性,通常客户端并不需要使用非阻塞通信以提高性能,故这里只有服务端使用非阻塞通信方式实现 客户端: package com.test.client; import java.io. ...

  8. 分析一个socket通信: server/client

    分析一个socket通信: server/client1 server 1. 创建一个server_socket文件,并绑定端口,然后监听端口 (socket, bind, listen) 2. 查询 ...

  9. 使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置)

    原文:使用Socket通信实现Silverlight客户端实时数据的获取(模拟GPS数据,地图实时位置) 在上一篇中说到了Silverlight下的Socket通信,在最后的时候说到本篇将会结合地图. ...

随机推荐

  1. 什么是RFC

    通俗的话来说,RFC是关于Internet的几乎所有重要的文字资料,相当于一个Internet的标准. 下面是查询网址:http://www.rfcreader.com/ 一下为百科定义: http: ...

  2. hdu5187 奇怪题

    本来很水的,答案就是(2^n)-2,但是写坑了QAQ 因为原题要求答案要mod P,一开始我是这么干的: LL ans=pow_mod(,N,P); ans=(ans-)%P; ) ans=%P; p ...

  3. Node.js使用Mongoose包操作MongoDB数据库

    1. 安装Mongoose npm install mongoose 2. 使用 2.1 创建连接 var mongoose = require('mongoose'); mongoose.conne ...

  4. 分布式存储数据库的Key的随机分布(RP)和顺序分布(OPP)

    在分布式存储数据库的世界中,无论是基于Key/Value的数据库还是Column Base(比如HBase)的数据库,都有一个重要的因子------Key,或者叫RowKey.我们总是根据Key来快速 ...

  5. AngularJs ngHref、ngSrc、ngCopy/ngCut/ngPaste

    ngHref 在Angular程序没完成改变链接上用{{hash}}方式绑定的href值的时候,当用户点击该链接会跳到一个错误的页面. 格式:ng-href=”value” value:表达式. 使用 ...

  6. Linux之:Ubuntu速学笔记(2)

    撰写日期:2016-7-3 18:20:39 基本内容包括:Flash player安装.编译安装PHP.写个简单的PHP程序:Java程序(Java需要使用“javac”命令编译一下才能执行) 一. ...

  7. CSS--结构和层叠

    选择器的特殊性 特殊性值表述为4个部分,如0,0,0,0.具体特殊性如下所示: 举例说明一下: 通配符选择器的特殊性 通配符选择器其特殊性为0,0,0,0 !important重要性 大家都知道内联样 ...

  8. 2-SAT 问题

    2-SAT 问题是k-SAT问题在k==2时的特殊情况,因为已经证明k>=3时的k-sat问题属于npc问题.所以在这里仅研究2-SAT的特殊情况.   何为2-sat问题? 简单地说就是有N个 ...

  9. DNS(二)之bind的视图功能

    bind视图工作原理 在我国目前的网络环境下面,多个运营商并存,运营商之间的存在一定的网络互通问题,如果把来自不同的运营商或者地域的所有用户通过简单的A记录分配到一个机房,那么就存在部分网民访问延时大 ...

  10. python学习笔记-(五)字符串&字典

    1.字符串操作 >>> name = ("my name is cc")#首字母大写 >>> print(name.capitalize()) ...