服务端是一个选代服务端,持续提供服务,同时只能为一个客户端提供服务。
信息传输协议(V2.0):1字节字符串长度+字符串内容(长度小于255)
信息传输协议(V3.0):4字节字符串长度+字符串内容(长度小于2^32)
服务器端:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#define BUF_SIZE 1024
void error_handling(char *message);
int main(int argc, char* argv[]){
int serv_sock, clnt_sock;
char message[BUF_SIZE];
int i,len;
struct sockaddr_in serv_adr, clnt_adr;
socklen_t clnt_adr_sz;
if(argc != 2){
printf("Usage : %s <port>\n", argv[0]);
exit(1);
}
serv_sock = socket(PF_INET, SOCK_STREAM, 0);
if(serv_sock == -1){
error_handling("socket() error!");
}
memset(&serv_adr, 0, sizeof(serv_adr));
serv_adr.sin_family = AF_INET;
serv_adr.sin_addr.s_addr