今天段老师在网络软件设计课上布置了一个题目。
要求是windows环境,现在在linux环境下实现。
运行C/S模式的2个程序,使用UDP协议,发送10次,计算平均时延。
服务器程序如下:
#include <sys/socket.h> // for functions for socket
#include <netinet/in.h> // for struct sockaddr_in
#include <stdlib.h>
#include <memory.h> // for memset
#include <stdio.h> // for perror
#include <errno.h> // for errno
#define BUFLEN 100
int main(void)
{
int listenfd;
char buf[BUFLEN];
socklen_t len;
struct sockaddr_in serv, cli;
if ((listenfd = socket(AF_INET, SOCK_DGRAM, 0)) < 0)
{ // use udp
perror("socket");
exit(EXIT_FAILURE);
}
memset(&serv, 0, sizeof(serv)); // clear
serv.sin_family = AF_INET; // use IPv4
// Listen any ip address and use network
// byte order
serv.sin_addr.s_addr = htonl(INADDR_ANY);
serv.sin_port = htons(9877); // Listen port 9877
if (bind(listenfd, (struct sockaddr*)&serv,