嵌入式网络编程-自学篇

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


  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值