首页 > 代码库 > TCP,UDP
TCP,UDP
地址转换:aton\atoa,ascii,network,32bit与ascii转换大端小端转换字节充转换:htons\htonl\htohs\ntohl.网络序与主机序转换。主机名转换为IP地址:struct hostent *gethostbyname(const char *hostname)struct hostent{ char *h_name; char *h_aliases; int h_addrtype; int h_length; char **h_addr_list;}sock编程常用函数:socket创建一个socketbind绑定IP地址的端口号到socketconnect连接服务器listen设定服务器允许的最大连接数accept等待客户端socket连接请求send发送数据recv接收数据基于TCP服务器:a.使用socket函数创建socketb.使用bind函数绑定IP地址、端口信息到socket上c.使用listen设置允许的最大连接数d.使用accept等待客户端连接请求,阻塞等待。e.使用send/recv或者read/write收发数据f.关闭连接基于TCP客户端:a.使用socket创建socketb.设置要连接的服务器的IP地址和端口的属性c.使用connect连接服务器d.使用send/recv或者read/write收发数据e.关闭连接基于UDP服务器:a.使用socket创建一个socketb.使用bind绑定地址、端口信息到socketc.使用recvfrom循环接收数据d.关闭连接基于UDP客户端:a.使用socket创建一个socketb.使用bind绑定地址、端口信息到socketc.设置对方的IP地址、端口等属性e.使用sendto发送数据f.关闭连接并发服务器模型:循环服务器:在同一时刻只能响应一个客户端请求并发服务器:服务器同一时刻可以响应多个客户端请求实现方法:UDP服务器每次从套接字上读取一个客户端的夜请求---处理---然后将结果返回给客户端。socket();bind();while(1){ recvfrom(); process(); sendto();}TCP循环服务器接受一个客户端连接,然后处理,完成这个客户端所有请求后,断开连接:socket();bind();listen();while(1);{ accept(); process(); close();}TCP并发服务器:并发服务器思想是每一个客户机的请求并不是由服务器直接处理,而是由服务器创建子进程来处理:socket();bind();listen();while(1){ accept(); if(fork()==0) { process(); close(); exit(); } close();}
TCP,UDP
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。