6
碳烧吧
全部回复
仅看楼主
level 6
Server:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <netdb.h>
#include <signal.h>
#include <fcntl.h>
int fd;
struct sockaddr_in client;
void hendle()
{
     int len;
     len=sizeof(client);
     char buffer[1024];
     bzero(buffer,1024);
     recvfrom(fd,buffer,1024,0,&client,&len);
     printf("%s\n",buffer);
     }
     void main()
     {
         struct sockaddr_in server;
         bzero(&server,sizeof(server));
         fd=socket(AF_INET,SOCK_DGRAM,0);
         server.sin_family=AF_INET;
         server.sin_port=htons(1234);
         server.sin_addr.s_addr=htonl(INADDR_ANY);
         bind(fd,(struct sockaddr*)&server,sizeof(server));
         fcntl(fd,F_SETOWN,getpid());
         int flags=fcntl(fd,F_GETFL,0);
         fcntl(fd,F_SETFL,flags|O_ASYNC);
         signal(SIGIO,hendle);
         while(1)
         {
             char buffer1[1024];
             bzero(buffer1,1024);
             scanf("%s",buffer1);
             sendto(fd,buffer1,strlen(buffer1),0,&client,sizeof(client));
}
}
Client:
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <stdio.h>
#include <netdb.h>
#include <signal.h>
#include <fcntl.h>
int fd;
struct sockaddr_in server;
void hendle()
{
     int len;
     len=sizeof(server);
     char buffer[1024];
     bzero(buffer,1024);
     recvfrom(fd,buffer,1024,0,&server,&len);
     printf("%s\n",buffer);
     }
     void main()
     {
         bzero(&server,sizeof(server));
         fd=socket(AF_INET,SOCK_DGRAM,0);
         server.sin_family=AF_INET;
         server.sin_port=htons(1234);
         server.sin_addr.s_addr=inet_addr("127.0.0.1");
         bind(fd,(struct sockaddr*)&server,sizeof(server));
         fcntl(fd,F_SETOWN,getpid());
         int flags=fcntl(fd,F_GETFL,0);
         fcntl(fd,F_SETFL,flags|O_ASYNC);
         signal(SIGIO,hendle);
         while(1)
         {
             char buffer1[1024];
             bzero(buffer1,1024);
             scanf("%s",buffer1);
             sendto(fd,buffer1,strlen(buffer1),0,&server,sizeof(server));
   }
}

2009年12月09日 14点12分 1
1