Socket Server 代码:UDP
2015-03-25 22:28
211 查看
一、server端
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char*argv[])
{
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
struct sockaddr_in addrSrv;
bzero(&addrSrv, sizeof(struct sockaddr_in));
addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
bind(sockfd, (struct sockaddr*)&addrSrv, sizeof(struct sockaddr));
struct sockaddr_in addrConn;
socklen_t len = sizeof(struct sockaddr_in);
char buf[1024] = {0};
recvfrom(sockfd, buf, 1024, 0, (struct sockaddr*)&addrSrv, &len);
printf("server recv:%s\n", buf);
sendto(sockfd, "server data", strlen("server data"), 0, (struct sockaddr*)&addrSrv, len);
close(sockfd);
return 0;
}
二、client端
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char*argv[])
{
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
struct sockaddr_in addrSrv;
bzero(&addrSrv, sizeof(struct sockaddr_in));
addrSrv.sin_addr.s_addr = inet_addr("127.0.0.1");
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
sendto(sockfd, "client data", strlen("client data"), 0, (struct sockaddr*)&addrSrv, sizeof(struct sockaddr));
char buf[1024] = {0};
int len = sizeof(struct sockaddr);
recvfrom(sockfd, buf, 1024, 0, (struct sockaddr*)&addrSrv, &len);
printf("client recv:%s\n", buf);
close(sockfd);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char*argv[])
{
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
struct sockaddr_in addrSrv;
bzero(&addrSrv, sizeof(struct sockaddr_in));
addrSrv.sin_addr.s_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
bind(sockfd, (struct sockaddr*)&addrSrv, sizeof(struct sockaddr));
struct sockaddr_in addrConn;
socklen_t len = sizeof(struct sockaddr_in);
char buf[1024] = {0};
recvfrom(sockfd, buf, 1024, 0, (struct sockaddr*)&addrSrv, &len);
printf("server recv:%s\n", buf);
sendto(sockfd, "server data", strlen("server data"), 0, (struct sockaddr*)&addrSrv, len);
close(sockfd);
return 0;
}
二、client端
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main(int argc, char*argv[])
{
int sockfd = socket(AF_INET, SOCK_DGRAM, 0);
struct sockaddr_in addrSrv;
bzero(&addrSrv, sizeof(struct sockaddr_in));
addrSrv.sin_addr.s_addr = inet_addr("127.0.0.1");
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
sendto(sockfd, "client data", strlen("client data"), 0, (struct sockaddr*)&addrSrv, sizeof(struct sockaddr));
char buf[1024] = {0};
int len = sizeof(struct sockaddr);
recvfrom(sockfd, buf, 1024, 0, (struct sockaddr*)&addrSrv, &len);
printf("client recv:%s\n", buf);
close(sockfd);
return 0;
}
相关文章推荐
- [摘抄-Socket-学习中]UDP通信基础代码-server端
- Java ServerSocket的服务端代码介绍
- UNIX Socket UDP 代码
- 【Java TCP/IP Socket】UDP Socket(含代码)
- java UDP Socket(含代码)
- UDP server,client 代码
- 【Java TCP/IP Socket】UDP Socket(含代码)
- TCP/UDP网络编程入门教程之二:TCP Server端——socket与文件描述符
- UNIX Socket UDP 代码
- UDPClient.py&UDPServer.py——我的第一行Python代码
- linux下socket通信代码的开发及总结---UDP
- 初识-----基于Socket的UDP和TCP编程及测试代码
- C#网络编程系列文章(五)之Socket实现异步UDPserver
- socket编程(udp tcp)代码备忘 C++/C
- Linux环境C/C++起Socket Server监听8080端口的代码实现
- Winsocket UDP Client and Server Examples
- 【Linux Socket 编程入门】06 - 拉个骡子溜溜:UDP编程模型代码分析
- MonitorServer代码阅读笔记(一):使用sigaction( SIGPIPE, &sa, 0)避免写一个已关闭的socket导致进程退出
- 网络编程----socketserver多并发实现、FTP上传多并发、udp协议套接字多并发
- UDP(socket)接和数据案例封装成C++代码