首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

请检查小弟我的socket小实验程序

2013-01-17 
请大虾检查我的socket小实验程序#include stdio.h#include sys/types.h#include sys/socket.h#inclu

请大虾检查我的socket小实验程序
#include <stdio.h>

#include <sys/types.h>    
#include <sys/socket.h>
#include <netinet/in.h>//包含sockaddr_in  结构体
#include <string.h>//包含bzero  函数
#include <sys/socket.h>//包含send()  和recv()  函数


#define server_cont 8080

int main()
{
struct sockaddr_in my_addr;
int socketfd;
int sendlen=5;
int msg[5]={1,2,3,4,5};
int flag=0;

if(socketfd = socket(PF_INET,SOCK_STREAM,0) < 0)
{
printf("the socket is err!\n");
return 0;
}

my_addr.sin_family = AF_INET;  
my_addr.sin_port = htons(server_cont);
my_addr.sin_addr.s_addr = (180<<24)|(111<<16)|(35<<8)|234;
bzero(&(my_addr.sin_zero),8);
if (connect(socketfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))  < 0) 
{
printf("connect is err!\n");
return 0;
}

test:
flag = send(socketfd, msg, sendlen, 0);
if(flag <0)
{
printf("send is err!\n");
goto test;
}
while(1)
{
sleep(1);
}

close(socketfd);
 return 0;
}


能够ping通180.111.35.234,相互ping通,connect不成功,错误编号是-1
服务端是用网络调试助手软件,已经打开并连接
[解决办法]
类似这种if里写语句而少括号的问题很多:
http://bbs.csdn.net/topics/390301441
http://bbs.csdn.net/topics/390307641
当然这些一般也有其他一些错误. 你的根本原因是if内少括号和ip地址赋值错误!
请引以为戒!

热点排行