我这个代码在开始运行的时候就完了!请问我该采取什么措施

cpp99 2004-09-20 03:34:15
运行结果是打印Fail to create a socket!
请问我该采取什么措施

#include <Winsock2.h>
#include <stdio.h>

#define MYPORT 5000
#define BACKLOG 5

void main()
{
int nSrvSock,nAptSock;
int sin_size;
struct sockaddr_in sa_he;
struct sockaddr_in sa_me;
//------------------------------------------------------------------
nSrvSock = socket(AF_INET,SOCK_STREAM,0);

if(nSrvSock == -1)
{
printf("Fail to create a socket!");
exit(1);
}
//------------------------------------------------------------------
sa_me.sin_family = AF_INET;
sa_me.sin_port = htons(MYPORT); /* ÍøÂç×Ö½Ú˳Ðò */
sa_me.sin_addr.s_addr = INADDR_ANY; /* ×Ô¶¯Ìî±¾»úIP */
memset(&(sa_me.sin_zero), 0, 8); /* ÆäÓಿ·ÖÖÃ0 */
//------------------------------------------------------------------
if (bind(nSrvSock, (struct sockaddr *)&sa_me, sizeof(sa_me)) == -1)
{
printf("Fail to bind a socket!");
exit(1);
}
//------------------------------------------------------------------
if (listen(nSrvSock, BACKLOG) == -1)
{
printf("Fail to listen");
exit(1);
}
//------------------------------------------------------------------
while(1)
{
sin_size = sizeof(struct sockaddr_in);
nAptSock = accept(nSrvSock, (struct sockaddr *)&sa_he, &sin_size);
//---------------------------------------------
if (nAptSock == -1)
{
printf("Fail to accept");
continue;
}
//---------------------------------------------
printf("Got connection from %s\n", inet_ntoa(sa_he.sin_addr));

if (send(nAptSock, "Hello, world!\ n", 14, 0) == -1)
{
printf("Fail to send");
}
//---------------------------------------------
closesocket(nAptSock);
}

}
...全文
89 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
bm1408 2004-09-20
  • 打赏
  • 举报
回复
呵呵!
粗心!

和我一样!
248406869 2004-09-20
  • 打赏
  • 举报
回复
补充别忘了调WSACleanup。
248406869 2004-09-20
  • 打赏
  • 举报
回复
加入
WSADATA wsaData;
WORD version=MAKEWORD(2,0);
WSAStartup(version,&wsaData);
geland 2004-09-20
  • 打赏
  • 举报
回复
你没有初始化WINSOCK库
加上WSAStartup函数就行了

64,649

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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