- 论坛徽章:
- 1
|
服务器端代码
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <time.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/time.h>
#include <sys/timeb.h>
#include <sys/stat.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <netinet/tcp.h>
#include <arpa/inet.h>
#include <netdb.h>
//常量
#define UDP_SERVER_ADDR 0x2200000A//10.0.0.34
#define UDP_SERVER_PORT 100
//私有函数
static int init_receiver(void);
int main(int argc, char *argv[])
{
int udp_fd;
int len;
char msg[1024];
//初始化
udp_fd = init_receiver();
if (0 > udp_fd) exit(-1);
//接收
for( ; ; ) {
len = recv(udp_fd, msg, 1024, 0);
fprintf(stdout, "len = %d\r\n", len);
}
exit(0);
}
static int init_receiver(void)
{
//临时变量
struct sockaddr_in addr4;
int udp_fd;
//创建SOCKET
udp_fd = socket(AF_INET, SOCK_DGRAM, 0);
if (0 > udp_fd) return(-1);
//初始化结构
bzero(&addr4, sizeof(addr4));
addr4.sin_addr.s_addr = UDP_SERVER_ADDR;
addr4.sin_family = AF_INET;
addr4.sin_port = UDP_SERVER_PORT;
//绑定
if(0 != bind(udp_fd, (struct sockaddr *)&addr4, sizeof(struct sockaddr_in))) {
close(udp_fd);
return(-2);
}
return(udp_fd);
} |
|