几个主要的函数:
服务器端:
socket() 产生一个套接字,返回一个新套接字对应的文件描述符(不用于接下来与客户端通信,而是用来监听)
bind() 绑定服务器端地址结构
listen() 不是监听 是用来设置与服务器端链接上限个数(同时进行三次握手的客户端数量)
accept()阻塞等待客户端建立连接,成功返回一个与客户端成功链接的socket文件符
客户端:
connect() 与服务器建立链接
客户端不需要bind绑定地址结构,系统会隐式绑定
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#define MAXLINE 80
#define SERV_PORT 6666//端口号
int main(void)
{
struct sockaddr_in servaddr, cliaddr;//定义客户端,服务器端地质结构
socklen_t cliaddr_len;//地址结构长度
int listenfd, connfd;
char buf[MAXLINE];
char str[INET_ADDRSTRLEN];
int i, n;
listenfd = socket(AF_INET, SOCK_STREAM, 0