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. restore和recover的区别(转)

    recover和restore的区别: restore just copy the physical file, recover will consistent the database. resto ...

  2. osquery An Operating System Instrumentation Framewor

    catalog . Getting Started . install guide for OS X and Linux . Features Overview . Logging . query e ...

  3. Maven异常:Could not find artifact

    用Maven build("clean tomcat7:run" )  Maven聚合工程时,出现了一下问题: [INFO] Scanning for projects... [E ...

  4. 用Linux命令wget进行整站下载

    wget加上参数之后,即可成为相当强大的下载工具. wget -r -p -np -k http://xxx.com/abc/-r, --recursive(递归) specify recursive ...

  5. Code::Blocks快捷键操作

    编辑器 快捷键 功能 Ctrl+Z 恢复上一次操作 Ctrl+Shift+Z 重复上一次操作 F11 切换头文件/源文件 Ctrl+Shift+C 注释高亮代码 Ctrl+Shift+X 反注释高亮代 ...

  6. chmod权限设置

    一.其语法格式为:chmod [who] [opt] [mode] 文件/目录名 1.其中who表示对象,是以下字母中的一个或组合: u:表示文件所有者 g:表示同组用户 o:表示其它用户 a:表示所 ...

  7. Visual Studio原生开发的20条调试技巧(下)

    我的上篇文章<Vistual Studio原生开发的10个调试技巧>引发了很多人的兴趣,所以我决定跟大家分享更多的调试技巧.接下来你又能看到一些对于原生应用程序的很有帮助的调试技巧(接着上 ...

  8. 9月19日上午JavaScript数组

    数组 一.定义 1.数组的文字定义 广义上说,数组是相同类型数据的集合.但是对于强类型语言和弱类型语言来说其特点是不一样的.强类型语言数组和集合有以下特点. 数组强类型语言:1.数组里面只能存放相同数 ...

  9. Runner之记计帐项目的典型用户和用户场景

    项目任务:编写日历选择界面和查明细界面(查看某一天的具体收支出状况) 1.背景 ①典型用户 (1)姓名:张云 (2)年龄:17~23 (3)收入:家长给的生活费与自己兼职(1500元/月) (4)代表 ...

  10. Java数据结构——栈

    //================================================= // File Name : Stack_demo //-------------------- ...