一个服务器程序,为什么第一次调用socket(...)就出错?

newgoogle 2003-02-17 02:12:43
int sockfd,client_fd;
SOCKADDR_IN my_addr;
SOCKADDR_IN remote_addr;
sockfd=socket(AF_INET,SOCK_STREAM,0);
if(sockfd ==INVALID_SOCKET) {
ShowMessage("socket创建出错!");
exit(1);
}
程序会执行到ShowMessage这一句,报socket创建出错,什么原因啊?
...全文
90 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
pp616 2003-02-18
  • 打赏
  • 举报
回复
不管你是c or s 用socket api 前就必须调用WSAStartup
newgoogle 2003-02-17
  • 打赏
  • 举报
回复
客户端是不是也要执行WSAStartup?
客户端总是connect()出错,是不是没有WSAStartup?
kingfish 2003-02-17
  • 打赏
  • 举报
回复
先调用 WSAStartup

或者用WSAGetLastError查
l_clove 2003-02-17
  • 打赏
  • 举报
回复
使用之前要这样:
WSADATA wData;
WSAStartup(0x0101,&wData); //Initialize the windows network


用过以后要这样:
WSACleanup();
pp616 2003-02-17
  • 打赏
  • 举报
回复
#include <winsock.h>
#define WSVERS MAKEWORD(1,0)
WSADATA wsadata;
SOCKET McastSock;

if(WSAStartup(WSVERS, &wsadata)==0) //初始化socket库
{
McastSock=socket(AF_INET,SOCK_STREAM,0); //创建套接字
if(McastSock!=0)//创建成功
{
.....
}
}
newgoogle 2003-02-17
  • 打赏
  • 举报
回复
环境bcb6.0,急

1,317

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder 网络及通讯开发
社区管理员
  • 网络及通讯开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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