from : http://wwwblogs/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协议的流程如图如下所示
服务器端和客户端使用UDP协议的流程如图如下所示
更多推荐
嵌入式网络编程-自学篇
发布评论