一. 概念解析

套接字:一种特殊的文件描述符。一头指向套接字地址(用户),一头指向套接字结构(内核)。

套接字结构:由内核维持的一种数据结构,可通过套接字来操作。

套接字地址:ip和port。

二. TCP/UDP编程

服务器端:                  

(1)创建流式套接字。         

(2)绑定套接字地址。

TCP/UDP都需要,将套接字和套接字地址关联上。               

(3)监听套接字。       

UDP不需要,监听是要设定队列运行的最大连接数。      

(4)接受连接请求。

UDP面向无连接,故不需要。     

(5)收发数据

(6)关闭套接字。

客服端:

(1)创建流式套接字。

(2)连接对端地址。

UDP面向无连接,故不需要。

(3)收发数据。

(4)关闭套接字。

TCP/UDP编程步骤和区别的更多相关文章

  1. socket与TCP/UDP编程~

    ket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序.要学Internet上的TCP/IP网络编程,必须理解Socket接口. ...

  2. 【网络知识】【1】http、tcp/udp、soap的区别

    一句话总结: soap信息可以通过http协议包装后通过tcp或udp传输 参考:https://zhidao.baidu.com/question/617706398106243452.html

  3. TCP与UDP在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  4. 【socket】TCP 和 UDP 在socket编程中的区别

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  5. TCP与UDP在socket编程中的区别 (网络收集转载)

    http://blog.chinaunix.net/uid-26421509-id-3814684.html 一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  ...

  6. TCP 和 UDP 在socket编程中的区别(转)

    一.TCP与UDP的区别 基于连接与无连接  对系统资源的要求(TCP较多,UDP少)  UDP程序结构较简单  流模式与数据报模式  TCP保证数据正确性,UDP可能丢包  TCP保证数据顺序,UD ...

  7. tcp/udp socket编程异同

    一.TCP与UDP的区别 基于连接与无连接 对系统资源的要求(TCP较多,UDP少) UDP程序结构较简单 流模式与数据报模式 TCP保证数据正确性,UDP可能丢包 TCP保证数据顺序,UDP不保证 ...

  8. TCP与UDP基本认识及区别

    TCP与UDP基本区别 1.基于连接与无连接 2.TCP要求系统资源较多,UDP较少: 3.UDP程序结构较简单 4.流模式(TCP)与数据报模式(UDP); 5.TCP保证数据正确性,UDP可能丢包 ...

  9. TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景

    一.OSI 模型 OSI 模型主要作为一个通用模型来做理论分析,而TCP/IP 协议模型是互联网的实际通讯协议,两者一般做映射分析,以下不做严格区分和声明(好吧,比较懒): OSI 整个模型层次大致可 ...

随机推荐

  1. 如何重定向 stderr ?

    可以使用该方法写一个轻量级日志类 #include <cstdio> int main() { FILE *stream = freopen("freopen.txt" ...

  2. centos7 Dockerfile安装nginx

    1.写一个Dockerfile文件 FROM centos MAINTAINER apeng apeng@apenglinux-002.com RUN yum install -y pcre-deve ...

  3. 事件对象event之e.targtet || e.srcElement

    p.onclick = function (event) { var e = event || window.event, target = e.target ? e.target : e.srcEl ...

  4. 我的Android进阶之旅------>关于使用CSDN-markdown编辑器来编写博客

    关于使用MarkDown编辑器的原因 什么是 Markdown 制作一份待办事宜 Todo 列表 书写一个质能守恒公式LaTeX 高亮一段代码code 高效绘制 流程图 高效绘制序列图 绘制表格 更详 ...

  5. Django的模型层(2)- 多表操作(上)

    一.创建模型 例:我们来假定下面这些概念,字段和关系 作者模型:一个作者有姓名和年龄. 作者详细模型:把作者的详情放到详情表,包含生日,手机号,家庭住址等信息.作者详情模型和作者模型之间是一对一(on ...

  6. Leetcode 之 Kth Largest Element in an Array

    636.Kth Largest Element in an Array 1.Problem Find the kth largest element in an unsorted array. Not ...

  7. Spring Security教程 ---- 验证码功能的实现

    有三中方法可以实现验证码的功能 第一种是自定义一个filter,放在SpringSecurity过滤器之前,在用户登录的时候会先经过这个filter,然后在这个filter中实现对验证码进行验证的功能 ...

  8. Runtime.getRuntime().exec()需要注意的地方

    文章出处http://www.cnblogs.com/fclbky/p/6112180.html 有时候我们可能需要调用系统外部的某个程序,此时就可以用Runtime.getRuntime().exe ...

  9. numpy.random.seed()

    numpy.random.seed():用于指定随机数生成时使用算法的开始值,如果没有指定每次生成的值都不一样 如果不指定seed的值,那么每次随机生成的数字都不一样: In [17]: import ...

  10. day3-python的函数及参数

    函数式编程最重要的是增强代码的重用性和可读性 1 2 3 4 def 函数名(参数):     ...     函数体     ... 函数的定义主要有如下要点: def:表示函数的关键字 函数名:函 ...