1.服务器基本操作
1.用socket()函数创建socket,返回值为socket的标识符sockfd,这个标识符在后面都会用到
2.用结构体sockaddr_in去保存服务器信息(协议,端口,ip)
联合体成员:struct sockaddr_in sever_addr{
sever_addr.sin_family //协议
sever_addr.sin_port //端口,一般大于1024
sever_addr.sin_addr.s_addr //ip
}
3.用bind()函数绑定信息
注意:第二个参数要强转成(struct sockaddr *)类型
4.用sockaddr_in函数保存客户端信息
6.在while循环里面用recvfrom()函数不停的接收信息并打印
7.用close函数关闭socket
服务器代码:
#include <stdio.h>
#include <sys/types.h> /* See NOTES */
#include <sys/socket.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <netinet/in.h>
#include <arpa/inet.h>
int main()
{
int sockfd = socket(AF_INET, SOCK_DGRAM, 0); //IPV4协议 数据包套接字
if(-1 == sockfd)
{
perror("socket");
exit(1);
}
struct sockaddr_in server_addr; //用于保存服务器信息
memset(&server_addr, 0, sizeof(server_addr)); //清零
server_addr.sin_family = AF_INET; //协议
server_addr.sin_port = 8000; //端口
server_addr.sin_addr