全球旧事资料 分类
孙鑫第十四课Socket编程之一简介2011042710291Socket编程分为基于TCP的和基于UDP的TCP:面向连接的,可靠的传输,连接要经过三次握手客户端在连接之前就得按照已知的服务器地址端口进行连接,服务器端在等到客户端的连接后返回一个连接套接字,之后的信息发送接收就按这条连接进行,不需要再有地址信息。UDP:面向无连接的,不可靠的,不会进行重发,由于没有连接,因此每次发送都要指明对方的IP端口,每次接收都要信息的同时要接收对方地址端口。在socket编程中,套接字有三种,流式套接字SOCK_STREAM,数据报套接字SOCK_DGRAM,原始套接字SOCK_RAW,基于TCP的采用的是流式套接字,基于UDP的采用的是数据报套接字,socket20版本不支持原是套接字。
2基于TCP的套接字编程★基于TCP的服务器端套接字编程步骤①协商版本初始化WSAStartup②建立服务器套接字socket③套接字绑定本机IP和端口bi
d④设置为监听模式liste
⑤开始监听连接,如果有连接到来则返回一个连接套接字同时取得客户端地址端口,否则一直在此监听。accept⑥使用连接套接字开始和客户端通信发送接收。se
drecv⑦通信完毕,关闭套接字连接套接字服务器套接字。closesoket⑧释放资源,删除套接字库的使用。WSAClea
up
★基于TCP的客户端套接字编程步骤①协商版本初始化WSAStartup
f②建立客户端套接字socket③指定服务器地址端口。SOCKADDR_INaddrServer④连接服务器co
ect⑤开始通信发送接收。se
drecv⑥通信完毕,关闭套接字。closesoket⑦释放资源,删除套接字库的使用。WSAClea
up
NOTE基于TCP的socket编程中服务器端和客户端的区别:①客户端不用绑定本地IP和端口。②由于服务器是被动的等待连接,因此必须先由客户端发起连接请求这样服务器才能知道客户端的地址端口,而客户端在连接服务器之前就应该已经知道了服务器地址。
3基于UDP的套接字编程★基于UPD的服务器端套接字编程步骤①协商版本初始化WSAStartup②建立套接字socket③绑定本地IP端口bi
d④通信,发送接收se
dtorecvfrom⑤通信完毕,关闭套接字closesocket⑥释放资源,删除使用套接字库WSAClea
up
★基于UDP的客户端套接字变成步骤
f①协商版本初始化WSAStartup②建立套接字socket③通信,发送接收se
dtorecvfrom④通信完毕,关闭套接字closesoket⑤释放资源,删除使用套接字库WSAClea
up
NOTE基于UDP的客户端编程中客户端不必发起连接请求,为了能达到服务器,需要在se
dto函数中指定地址端r
好听全球资料 返回顶部