Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1156327
  • 博文数量: 241
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2279
  • 用 户 组: 普通用户
  • 注册时间: 2012-11-27 19:53
个人简介

JustForFun

文章分类

全部博文(241)

文章存档

2023年(8)

2022年(2)

2021年(3)

2020年(30)

2019年(11)

2018年(27)

2017年(54)

2016年(83)

2015年(23)

我的朋友

分类: 其他平台

2016-05-11 19:17:02

#include  
#include  
#include  
#include  
#include  
#include  
#include  
#define PORT 1111 /*使用的port*/  
main(){  
    int sockfd,len;  
    struct sockaddr_in addr;  
    int addr_len = sizeof(struct sockaddr_in);  
    char buffer[256];  
    /*建立socket*/  
    if((sockfd=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=htonl(INADDR_ANY) ;  
    if (bind(sockfd, (struct sockaddr *)&addr, sizeof(addr))<0){  
        perror("connect");  
        exit(1);  
    }  
    while(1){  
        bzero(buffer,sizeof(buffer));  
        len = recvfrom(sockfd,buffer,sizeof(buffer), 0 , (struct sockaddr *)&addr ,&addr_len);  
        /*显示client端的网络地址*/  
        printf("receive from %s\n" , inet_ntoa( addr.sin_addr));  
        /*将字串返回给client端*/  
        sendto(sockfd,buffer,len,0,(struct sockaddr *)&addr,addr_len);  
    }  
}

、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、
#include  
#include  
#include  
#include  
#include  
#include  
#include  
#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);  
    }  
}






阅读(1251) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~