1.前言
一个基本的socket建立顺序是
Server端:
socket()
bind()
listen()
accept()
recv()
Client端:
socket()
connect()
send()
没想到吧,我胡汉三又回来了,怎么说over就over呢,学习了不总结还学习干嘛?
2.总结一下
1)先简单说一下api的分析技巧,通过前面几篇,大家几乎都能够发现,在lwip中,其实还是用的传统socket编程的api,只是都加上前缀lwip_xxx(),换汤不换药.另外根据api的名字也大致很容易能够理解起作用.
2)一般的调用流程都是lwip_xxx(),netconn_xxx(),tcp_xxx().清晰明了的路线.
3)实际一点儿的:
a)listen socket listen到的client的连接请求后,会在server端开辟一个新的pcb、新的conn和新的socket。
b)当有一个tcp_input()来到后,根据tcp segment的ip address和port,找到pcb,从pcb找到conn,放到conn的recvmbox上;
c)另一方面,当用户通过socket调用recv()函数时,recv()函数通过socket找到conn,并到conn的recvmbox上取tcp segment。
这下是真的该说拜拜了.再见,socketserver .