|
发表于 2004-5-8 16:01:16
|
显示全部楼层
回复: 我的这两段socket程序无法连接
最初由 luoyong 发表
server.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main()
{
int i,sz,*buf;
short s,port=123;//,port是端口号//port是16位的
struct sockaddr_in sa;
sz=sizeof(sa);//sockaddr_in的长度
sa.sin_family=AF_INET;
sa.sin_addr.s_addr=htonl(INADDR_ANY);
sa.sin_port=htons(port);
s=socket(PF_INET,SOCK_STREAM,0);
bind(s,(struct sockaddr*)&sa,sz);
listen(s,1);
printf("%d\n",i);//显示0
accept(s,(struct sockaddr *)&sa,&sz);
sz=recv(s,buf,1024,0);
write(0,buf,sz);
return 0;
}
client.c
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
int main()
{
int s,i;
short port=123;//端口
s=socket(PF_INET,SOCK_STREAM,0);
struct sockaddr_in sa;
sa.sin_family=AF_INET;
sa.sin_addr.s_addr=inet_addr("192.168.0.1");
sa.sin_port=htons(port);
i=connect(s,(struct sockaddr *)&sa,sizeof(sa));
printf("%d\n",i);//在这里总是显示-1
return 0;
}
我的机器IP就是192.168.0.1
多谢了!!! |
|