udp写服务器程序
来源:互联网 发布:冰冰办公软件 编辑:程序博客网 时间:2024/04/28 06:35
server端:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define MYPORT 1234
#define MAXBUFLEN 100
int main()
{
int sockfd;
struct sockaddr_in my_addr;
struct sockaddr_in their_addr;
int addr_len,numbytes;
char buf[MAXBUFLEN];
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1){
perror("socket");
exit(1);
}
my_addr.sin_family = AF_INET;
my_addr.sin_port = htons(MYPORT);
my_addr.sin_addr.s_addr = INADDR_ANY;
bzero(&(my_addr.sin_zero),sizeof(struct sockaddr_in));
if(bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr))==-1){
perror("bind");
exit(1);
}
addr_len = sizeof(struct sockaddr);
if((numbytes=recvfrom(sockfd,buf,MAXBUFLEN,0,(struct sockaddr*)&their_addr,&addr_len))==-1){
perror("recvfrom");
exit(1);
}
//printf("got packet from %s\n",inet_ntoa(their_addr.sin_addr));
printf("packet is %d bytes long\n",numbytes);
buf[numbytes] = '\0';
printf("received: %s\n",buf);
close(sockfd);
return 0;
}
client端:
#include <stdio.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <sys/socket.h>
#include <sys/wait.h>
#define MYPORT 1234
int main(int argc,char* argv[])
{
int sockfd;
struct sockaddr_in their_addr;
struct hostent *he;
int numbytes;
if(argc!=3){
fprintf(stderr,"usage:client hostname\n");
exit(1);
}
if((sockfd=socket(AF_INET,SOCK_DGRAM,0))==-1){
perror("socket");
exit(1);
}
their_addr.sin_family = AF_INET;
their_addr.sin_port = htons(MYPORT);
their_addr.sin_addr.s_addr = inet_addr(argv[1]);
bzero(&(their_addr.sin_zero),sizeof(struct sockaddr_in));
if((numbytes=sendto(sockfd,argv[2],strlen(argv[2]),0,(struct sockaddr*)&their_addr,sizeof(struct sockaddr)))==-1){
perror("sendto");
exit(1);
}
printf("sent %d bytes\n",numbytes);
close(sockfd);
return 0;
}
运行:
./udpserver
./udpclient 127.0.0.1 hhhh
- udp写服务器程序
- UDP 写程序不简单
- UDP通信程序(服务器)
- UDP客户/服务器程序示例
- select写的UDP/TCP测试服务器
- 用UDP写的群聊程序
- UDP服务器程序实现echo功能
- udp服务器_简单的控制台程序
- 基于UDP协议的服务器/客户端程序
- 基于UDP协议的服务器/客户端程序
- UDP服务器和客户端程序实例
- 最简单服务器程序UDP(Linux)
- PureBasic写服务器客户端程序
- 使用winsock+UDP写的一个简单接收端程序
- 使用winsock+UDP写的一个简单发送端程序
- 基于滑动窗口协议写的程序(UDP实现)
- 用C++写一个UDP发送和接收程序
- 用C++写一个UDP发送和接收程序
- 最好的编程博客调查(国外篇)
- 如何成为强大的程序员?
- java.util.Date的set方法问题(struts2类型转换)
- ARM 异常处理中宏代码分析
- 关系型数据库到HBase的数据储存方式变迁
- udp写服务器程序
- VC++动态链接库(DLL)编程深入浅出(zz)
- equals和==的说明
- ConcurrentLinkedQueue使用方法
- objective-c自定义类对象的序列化和反序列化
- JavaScript中json对象和string对象之间相互转化
- linux中如何将多个静态库合并成一个
- Unity3D 读写XML文件
- 汇编中常见的错误