实验要求
- 客户端要求
客户端可多次向服务器发送数据;
客户端能够接收服务器端发送数据,并回显正确; - 服务端要求
运行端口可配置 ;
将客户端发送来的消息正确显示,并将该消息发送给客户端;
支持多个客户端同时发送。
实验环境
Red Hat 9
代码
udpclient.c
#include<stdlib.h>
#include<stdio.h>
#include<sys/socket.h>
#include<netdb.h>
#include<string.h>
#include<unistd.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#define PORT 8900
void print_usage(char * cmd)
{
fprintf(stderr," %s usage:\n",cmd);
fprintf(stderr,"%s IP_Addr [port]\n",cmd);
}
int main(int argc,char** argv)
{
struct sockaddr_in server;
int ret;
int len;
int port;
int sockfd;
int sendnum;
int recvnum;
char send_buf[2048];
char recv_buf[2048];
int addr_len = sizeof(struct sockaddr_in);
if ((2>argc)|| (argc >3))
{
print_usage(argv[0]);
exit(1);
}
if (3==argc)
{
port = atoi(argv[2]);
}
if (-1==(sockfd=socket(AF_INET,SOCK_DGRAM,0)))