• 全部
  • 系统维护与使用
  • 应用程序开发
  • 内核源代码
  • 驱动程序开发
  • CPU和硬件区
  • UNIX文化
  • Solaris
  • Power Linux
  • 问答

我的socket出错,熟手进来帮帮忙呀------->急!!!

dchg2000 2003-08-04 08:58:22
我就是按例程写的,结果conenct出错,
error: Socket operation on non-socket
errno: 88

不知道是什么原因,熟手指点,谢谢!高分相送!
...全文
3 点赞 收藏 8
写回复
8 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
dchg2000 2003-08-04
谢谢,我犯了一个小小的笔误!!!加满分!
回复
fierygnu 2003-08-04
if ( sock = create_bsocket(PF_INET, SOCK_STREAM, 0) == -1 )
赋值操作符的优先级最低,应该是:
if ((sock = create_bsocket(PF_INET, SOCK_STREAM, 0)) == -1 )
回复
dchg2000 2003-08-04
大家看看呀
回复
dchg2000 2003-08-04
int connect_bsocket(SOCKET *sock,char* ip,PORT port)
54 {
55 struct sockaddr_in srvaddr;
56
57 bzero(&srvaddr,sizeof(srvaddr));
58 srvaddr.sin_family=AF_INET;
59 srvaddr.sin_addr.s_addr=inet_addr(ip);
60 srvaddr.sin_port=htons(port);
61 return connect(*sock,(struct sockaddr*)&srvaddr,sizeof(srvaddr));
62 }

SOCKET create_bsocket(int domain, int type, int protocol)
11 {
12 return socket(domain, type, protocol);
13 }


回复
dchg2000 2003-08-04
1 #include <stdio.h>
2 #include "bsocket.h"
3 #include <error.h>
4
5 extern int errno;
6 int main()
7 {
8 int sock;
9 static char ipaddr[] = "192.168.0.211";
10
11
12 if ( sock = create_bsocket(PF_INET, SOCK_STREAM, 0) == -1 ) {
13 printf("Fail to create socket\n");
14 return -1;
15 }
16
17
18 if ( connect_bsocket(&sock, ipaddr, 7900) == -1 ) {
19 printf("Fail to connect socket\n %u", errno);
20 perror("error");
21 return -1;
22 }
23
24 // deg_printf( ("connect: ip=%s port=%d\n", cfg_ipsmg, cfg_portsmg) );
25
26
27
28
29
30
31
32 return 0;
33 }
~
回复
fierygnu 2003-08-04
socket是怎么创建的?把代码贴上来。
回复
dchg2000 2003-08-04
大家帮帮忙呀,我在等待你们的帮助!!!
回复
daehappy 2003-08-04
天啊~~这个错误好有意思,呵呵.
回复
相关推荐
发帖
Linux/Unix社区
创建于2007-08-27

2.0w+

社区成员

Linux/Unix社区 应用程序开发区
申请成为版主
帖子事件
创建了帖子
2003-08-04 08:58
社区公告
暂无公告