Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1531285
  • 博文数量: 329
  • 博客积分: 2773
  • 博客等级: 少校
  • 技术积分: 4219
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-24 14:17
个人简介

淡定从容,宁静致远

文章分类

全部博文(329)

文章存档

2016年(4)

2015年(50)

2014年(68)

2013年(45)

2012年(162)

分类: LINUX

2014-09-09 09:38:21

#include
#include
#include
#include
#include
#include
#define BUFSIZE 128
int main(void)
{
      int sd;
      struct sockaddr_in my_end, his_end;
      socklen_t his_len;
      int ret;
      char buf[BUFSIZE];
      sd = socket(PF_INET, SOCK_DGRAM, 0);
      if (sd == -1) {
   perror("socket()");
   goto socket_err;
      }
      my_end.sin_family = AF_INET;
      my_end.sin_port = htons(8899);
      my_end.sin_addr.s_addr = INADDR_ANY;
      ret = bind(sd, (struct sockaddr *)&my_end, sizeof(my_end));
      if (ret == -1) {
   perror("bind()");
   goto bind_err;
      }
      his_len = sizeof(his_end);
      while (1) {
   ret = recvfrom(sd, buf, BUFSIZE, 0, (struct sockaddr *)&his_end, &his_len);
   write(1, buf, ret);
   ret = snprintf(buf, BUFSIZE, "send form: %d", getpid());
   sendto(sd, buf, ret, 0, (struct sockaddr *)&his_end, his_len);
      }
     close(sd);
      return 0;

bind_err:
      close(sd);
socket_err:
      return 1;
}

#include
#include
#include
#include
#include


#include
#include


#define BUFSIZE 128


int main(void)
{
      int sd;
      struct sockaddr_in my_end, his_end;
      socklen_t his_len;
      int ret;
      char buf[BUFSIZE];
      char *retp;


      sd = socket(PF_INET, SOCK_DGRAM, 0);
      if (sd == -1) {
   perror("socket()");
   goto socket_err;
      }


      his_end.sin_family = AF_INET;
      his_end.sin_port = htons(8899);
      inet_pton(AF_INET, "192.168.1.254", &his_end.sin_addr);


      his_len = sizeof(his_end);
      while (1) {
   retp = fgets(buf, BUFSIZE, stdin);
   if (retp == NULL) {
 break;
   }
   sendto(sd, buf, strlen(buf), 0, (struct sockaddr *)&his_end, his_len);


   ret = recvfrom(sd, buf, BUFSIZE, 0, (struct sockaddr *)&his_end, &his_len);
   write(1, buf, ret);
      }


      close(sd);


      return 0;






bind_err:
      close(sd);
socket_err:
      return 1;
}






阅读(1081) | 评论(0) | 转发(0) |
0

上一篇:vim && ctags

下一篇:双向不循环链表

给主人留下些什么吧!~~