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

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

不知道是什么原因,熟手指点,谢谢!高分相送!
...全文
34 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
天啊~~这个错误好有意思,呵呵.

23,217

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧