from : http://www.cnblogs.com/miosec/archive/2013/02/12/2910225.html

<一>

目的:想在路由器里做一个自动判断网络连接类型的功能

方法:学习参考embeddedLinux-10.pdf

涉及知识点:web、c

其他:这个芝麻大的功能居然有人申请专利了…专利号:APN/CN201110196988.X

正文:

Socket编程

1.函数说明

进行socket编程的基本函数有socket、bind、listen、accept、send、sendto、recv、recvform这几个,其中对于Client和Server以及TCP、UDP操作流程都是有区别的。我们先对函数进行生命,再给出不同情况下实用的流程图。

socket 该函数用于建立一个socket连接,可指定socket类型等信息。在建立了连接之后,可对sockadd后sockaddr_in进行初始化,以保存所建立的socket信息。

connect 该函数用于将本地IP地址绑定端口号,若绑定其他地址则不能成功,另外他主要用于tcp的连接,而在UDP的连接中则无必要。

send和recv 这两个函数用于接收和发送数据,用在TCP及UDP皆可。用在UDP时,可以在connect函数建立连接之后再用。

sendto和recvfrom 这两个函数的作用与send和recv函数类似,可以用在TCP和UDP中皆可。当用在TCP时,后面的几个地址有关参数不起作用,函数作用等同于send和recv。当用在UDP时,可以用在之前没有使用connect的情况时,这两个函数可以自动寻找指定地址并进行连接。(本博文作者注:如广播地址收发?)

服务器端和客户端使用TCP协议的流程如图如下所示

image

服务器端和客户端使用UDP协议的流程如图如下所示

image

嵌入式网络编程-自学篇相关推荐

  1. 《C#网络编程高级篇之网页游戏辅助程序设计(扫描版)》

    <C#网络编程高级篇之网页游戏辅助程序设计>通过编写C#网络编程语言中具有代表性的实例,向读者深入细致地讲解了如何利用C#语言进行网页游戏辅助程序设计.本书通过大量的代码引导读者一步步学习 ...

  2. 万物互联之~网络编程基础篇

    入门篇¶ 官方文档:https://docs.python.org/3/library/ipc.html(进程间通信和网络) 实例代码:https://github.com/lotapp/BaseCo ...

  3. [转]12篇学通C#网络编程——第二篇 HTTP应用编程(上)

    本文转自:http://www.cnblogs.com/huangxincheng/archive/2012/01/09/2316745.html 我们学习网络编程最熟悉的莫过于Http,好,我们就从 ...

  4. 网络编程——第一篇 基础之进程线程

    在C#的网络编程中,进程和线程是必备的基础知识,同时也是一个重点,所以我们要好好的掌握一下. 一:概念 首先我们要知道什么是"进程",什么是"线程",好,查一下 ...

  5. 12篇学通C#网络编程——第一篇 基础之进程线程

    在C#的网络编程中,进程和线程是必备的基础知识,同时也是一个重点,所以我们要好好的掌握一下. 一:概念 首先我们要知道什么是"进程",什么是"线程",好,查一下 ...

  6. python网络编程自学_五分钟搞定Python网络编程实现TCP和UDP连接

    Python网络编程实现TCP和UDP连接, 使用socket模块, 所有代码在python3下测试通过. 实现TCP#!/usr/bin/env python3 # -*- coding: utf- ...

  7. PHP中的网络编程 -- Socket篇

    作为WEB应用,网络编程是必不可少的.在实际的应用中,所需要网络编程的是 1.HTTP协议的请求,比如上传.下载什么的: 2.就是TCP/IP层的操作.比如,公司内部的协议解析.再往底层就基本没有了. ...

  8. Java网络编程基础_Java网络编程基础篇

    一.前言 网络通讯在系统交互中是必不可少的一部分,无论是面试还是工作中都是绕不过去的一部分,本节我们来谈谈Java网络编程中的一些知识,本chat内容如下: 网络通讯基础知识,剖析网络通讯的本质和需要 ...

  9. php网络编程自学手册 pdf,葛丽萍PHP网络编程技术详解 pdf扫描版

    葛丽萍PHP网络编程技术详解 pdf扫描版由软吧下载编辑精心整理,是一本php语言网络编程技术指导手册,由葛丽萍编著.全书内容全面,涵盖PHP网站开发中的八种常用技术,从基础知识到高级技术,再到项目开 ...

最新文章

  1. 1.2 什么是神经网络-深度学习第一课《神经网络与深度学习》-Stanford吴恩达教授
  2. Unix平台上OUI启动常见问题
  3. makefile如何减小可执行文件的大小(没有用到的函数不参与链接)
  4. Spring REST:异常处理卷。 1个
  5. php+nginx导入太大文件报http error错误的原因
  6. 七、区块链如何运用merkle tree验证交易真实性
  7. lisp 设计盘形齿轮铣刀_用AutoLISP程序设计盘形齿轮铣刀渐开线齿形
  8. 性能测试之JMeter配置元件【随机变量】
  9. python中绘制散点图的函数_如何使用python的pygame模块绘制随机散点图
  10. NTP组播模式配置和日志信息发送到Linux日志主机的配置
  11. 【Java】 剑指offer(65) 不用加减乘除做加法
  12. 名编辑电子杂志大师教程 | PDF制作排版设计建议
  13. Concurrency in C# Cookbook中文翻译 :c#的并发烹饪书
  14. netbeans java桌面应用程序_java – 使用Netbean的桌面应用程序的状态栏
  15. PHP学习-数据类型
  16. Python版打字练习软件源代码,键盘练习软件源代码,含娱乐模式和训练模式
  17. 多路视频数据实时采集系统设计与实现
  18. 液晶屏 TTL屏、LVDS屏、TMDS屏区别
  19. JavaWeb学习笔记(5)-B站尚硅谷
  20. 从SQLserver中导出表数据到Access

热门文章

  1. 我等你,在灯火阑珊处
  2. 快递驿站(数组存储Java版)
  3. IDEA辅助开发系列-Free Mybatis plugin
  4. PDB python调试
  5. 7-4 大笨钟 (10 分)
  6. 2017年7月31日
  7. php学习第三章:数组处理函数(二)
  8. 没看过这些书,你敢说自己学的计算机?
  9. MATLAB如何得到回文数(用fliplr函数)
  10. java导出excel的两种方式