首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

linux c学习札记-UDP基础客户/服务编程(sendto,recvfrom)

2013-01-23 
linux c学习笔记----UDP基础客户/服务编程(sendto,recvfrom)?client.c#include sys/types.h#include sy

linux c学习笔记----UDP基础客户/服务编程(sendto,recvfrom)

?client.c

#include <sys/types.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <stdlib.h>#include <string.h>#include <stdio.h>#define PORT 1111#define SERVER_IP "127.0.0.1"main(){int s,len;struct sockaddr_in addr;int addr_len =sizeof(struct sockaddr_in);char buffer[256];/* 建立socket*/if((s = socket(AF_INET,SOCK_DGRAM,0))<0){perror("socket");exit(1);}/* 填写sockaddr_in*/bzero(&addr,sizeof(addr));addr.sin_family = AF_INET;addr.sin_port = htons(PORT);addr.sin_addr.s_addr = inet_addr(SERVER_IP);while(1){bzero(buffer,sizeof(buffer));/* 从标准输入设备取得字符串*/len =read(STDIN_FILENO,buffer,sizeof(buffer));/* 将字符串传送给server端*/sendto(s,buffer,len,0,(struct sockaddr *)&addr,addr_len);/* 接收server端返回的字符串*/len = recvfrom(s,buffer,sizeof(buffer),0,(struct sockaddr *)&addr,&addr_len);printf("receive: %s",buffer);}}

?此实例为无连接UDP,也可用connect函数实现已连接UDP.

(笔记以实例为主,详细理论见<<UNIX网络编程>>)

?

热点排行