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