one hacker alone
دوشنبه 21 آذر 1390, 11:00 صبح
با یاد خدا
سلام دوستان عزیز
این قطعه کد در تابع ' bind خطا میده میخواستم بدونم مشکل کجاست؟
و در ضمن اگه امکان داره در مورد پارامتره های ارسالی به این تابع یه خورده توضیح بدین( دستورات بکارت رفته)
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define MYPORT 3490
main()
{
int sockfd,state;
struct sockaddr{
unsigned short sa_family;//address Family AF_XXX
char sa_data[14];//14 bytes of rotocol address
};
struct sockaddr_in{
short int sin_family;//address family
unsigned short int sin_port;//port number
struct in_addr sin_addr;//internet affress
unsigned char sin_zero[8];//same size as struct sockaddr
};
struct sockaddr_in my_addr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
printf("%d",sockfd);
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(MYPORT);
my_addr.sin_addr.s_addr=inet_addr("10.12.110.57");
memset(&(my_addr.sin_zero),'\0',8);
state=bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr));
printf("bind=%d",state);
return 0;
}
اینم پیغام خطا
socket1.c: In function ‘main’:
socket1.c:29:62: warning: passing argument 2 of ‘bind’ from incompatible pointer type [enabled by default]
/usr/include/sys/socket.h:115:12: note: expected ‘const struct sockaddr *’ but argument is of type ‘struct sockaddr *’
از GCC 4.5 تو لینوکس استفاده میکنم
سلام دوستان عزیز
این قطعه کد در تابع ' bind خطا میده میخواستم بدونم مشکل کجاست؟
و در ضمن اگه امکان داره در مورد پارامتره های ارسالی به این تابع یه خورده توضیح بدین( دستورات بکارت رفته)
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#define MYPORT 3490
main()
{
int sockfd,state;
struct sockaddr{
unsigned short sa_family;//address Family AF_XXX
char sa_data[14];//14 bytes of rotocol address
};
struct sockaddr_in{
short int sin_family;//address family
unsigned short int sin_port;//port number
struct in_addr sin_addr;//internet affress
unsigned char sin_zero[8];//same size as struct sockaddr
};
struct sockaddr_in my_addr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
printf("%d",sockfd);
my_addr.sin_family=AF_INET;
my_addr.sin_port=htons(MYPORT);
my_addr.sin_addr.s_addr=inet_addr("10.12.110.57");
memset(&(my_addr.sin_zero),'\0',8);
state=bind(sockfd,(struct sockaddr *)&my_addr,sizeof(struct sockaddr));
printf("bind=%d",state);
return 0;
}
اینم پیغام خطا
socket1.c: In function ‘main’:
socket1.c:29:62: warning: passing argument 2 of ‘bind’ from incompatible pointer type [enabled by default]
/usr/include/sys/socket.h:115:12: note: expected ‘const struct sockaddr *’ but argument is of type ‘struct sockaddr *’
از GCC 4.5 تو لینوکس استفاده میکنم