- 论坛徽章:
- 0
|
#include<stdio.h>
我用GCC编译以下代码
[code]
#include<stdlib.h>
#include<string.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include<fcntl.h>
#include<sys/stat.h>
#include<sys/types.h>
#include<sys/socket.h>
#define REMOTEPORT 4567
#define REMOTEIP "127.0.0.1"
int main(int argc,char *argv[])
{
int s,len;
struct sockaddr_in addr;
int addr_len;
char msg[256];
int i=0;
if((s=socket(AF_INET,SOCK_DGRAM,0))<0)
{
perror("error");
exit(1);
}
else
{
printf("socket created.\n");
printf("socked id:%d\n",s);
printf("remote ip: %s\n",REMOTEIP);
printf("remote port:%d\n",REMOTEPORT);
}
len=sizeof(struct sockaddr_in);
bzero(&addr,sizeof(addr));
addr.sin_family=AF_INET;
addr.sin_port=htons(REMOTEPORT);
addr.sin_addr.s_addr=inet_addr(REMOTEIP);
while(1)
{
bzero(msg,sizeof(msg));
len=read(STDIN_FILENO,msg,sizeof(msg));
sendto(s,msg,len,0,&addr,addr_len);
printf("\nInput message: %s\n",msg);
len=recvfrom(s,msg,sizeof(msg),0,&addr,&addr_len);
printf("%d :",i);
i++;
printf("Received message: %s \n",msg);
}
}[/code]
出现警告:
[root@localhost ~]# gcc -o 04 04.c
04.c: In function ‘main’:
04.c:46: 警告:传递参数 5 (属于 ‘sendto’)时在不兼容的指针类型间转换
04.c:48: 警告:传递参数 5 (属于 ‘recvfrom’)时在不兼容的指针类型间转换
请高手帮忙解决,谢谢! |
|