1、创建套接字socket()
所谓套接字(Socket),就是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。从所处的地位来讲,套接字上联应用进程,下联网络协议栈,是应用程序通过网络协议进行通信的接口,是应用程序与网络协议栈进行交互的接口
流式套接字(SOCK_STREAM):
数据以字节流的方式进行传递,无大小限制.保证数据可靠,无丢失, 顺序发送.主要用于TCP协议. 一般情况下只要选择流式方式,那内核就会默认选择TCP传输层协议
数据报套接字(SOCK_DGRAM ):
主要通过数据报的方式发送,固定大小。不能保证数据可靠,可能
丢失,乱序发送.主要用于UDP协议. 一般情况下只要选择数据报方式,那内核就会默认选择UDP传 输层协议
原始套接字(SOCK_RAW):
可以对较低层次协议如IP、ICMP直接访问
2、连接服务器
保存服务器信息
struct sockaddr_in serveraddr = {0}; serveraddr.sin_family = AF_INET; serveraddr.sin_port = htons(9999); //serveraddr.sin_addr.s_addr = inet_addr("0"); serveraddr.sin_addr.s_addr = htonl(INADDR_ANY); int len = sizeof(serveraddr);
连接服务器
int ret = connect(sockfd, (struct sockaddr *)&serveraddr, len ); if(ret == -1) { perror("connect"); return -1; }
3、收发数据
char buf[64] = {0}; while(1) { gets(buf); write(sockfd, buf, strlen(buf)); memset(buf, 0, 64); //数组清零 }
4、关闭套接字
close(sockfd);
好的,以上就是本期内容啦!!!
欢迎大家参考指正!!!