知道那里错误,就是不知道应该怎么改,大家能帮忙看看吗?

fangge 2007-03-12 05:06:38
//server.cpp
#include<stdio.h>
#include<winsock2.h>
#include<string.h>
#include<conio.h>
SOCKET server;
SOCKET client;
WSADATA WSAData;
int WSAreturn;
sockaddr_in local;
sockaddr_in from;
int fromlen = sizeof(from);
char information[50];
char welcome[]="欢迎您登陆YYJW主机!\n";
char receive[256];
char ip[]="您的IP是:";
char chat[256];
char c;
int i=0;
bool cansend=false;
int GetIp()
{
WSAreturn = WSAStartup(0x101,&WSAData);
if(WSAreturn)
{
printf("发生一个未知错误!\n");
return 0;
}
local.sin_family = AF_INET;
local.sin_addr.s_addr = INADDR_ANY;
local.sin_port = htons((u_short)23);
server = socket(AF_INET,SOCK_STREAM,0);
if(server==INVALID_SOCKET )
{
printf("无法创建套接字!\n");
return 0;
}
if(bind(server,(sockaddr *)&local,sizeof(local))!=0)
{
printf("无法绑定套接字!\n");
return 0;
}
if(listen(server,5)!=0)
{
printf("无法监听端口!\n");
return 0;
}
while(true)
{
printf("正在等待用户连接...\n");
client = accept(server,(struct sockaddr *)&from,&fromlen);
strcpy(information,inet_ntoa(from.sin_addr));
strcat(welcome,information);
printf("接受来自%s的连接...\n",inet_ntoa(from.sin_addr));
printf("正在发送欢迎消息...\n");
send(client,welcome,strlen(welcome),0);
//send(client,ip,strlen(ip),0);
//send(client,information,strlen(information),0);
printf("欢迎消息信息已经成功发送至客户端!\n");
while(1)
{
if(!cansend)
{

printf("正在等待对方发来消息...\n");
cansend=false;
recv(client,receive,sizeof(receive),0);

printf("*********接受到的消息***********\n");
printf("%s\n",receive);

printf("**************结束**************\n");
cansend=true;
}
else
{

printf("请输入下一条消息:");
scanf("%s\0",&chat);

send(client,chat,strlen(chat),0);
printf("\n已经成功发送出信息!\n");
cansend=false;
}
}

closesocket(client);


}
closesocket(server);
WSACleanup();
return 1;
}


void main()
{
int ok;

ok = GetIp();
if(ok==0)
printf("无法完成请求!\n");
getch();

}
...全文
127 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
fangge 2007-03-13
  • 打赏
  • 举报
回复
是的,谢谢,没注意看是警告还是错误了,
i_love_pc 2007-03-13
  • 打赏
  • 举报
回复
unreachable code in function getip()
这个提示的意思是你在函数中使用了while(true)循环,那之后的代码就无法执行到。
应该是警告不会是错误吧。
fangge 2007-03-13
  • 打赏
  • 举报
回复
怎么没人理啊,~~~郁闷

fangge 2007-03-12
  • 打赏
  • 举报
回复
程序就是上面的,分数能给的都给了,用bcc32编译出现unreachable code in function getip(),调试发现问题出在while(true)这个循环里,不知道怎么解决了,
大家能帮忙看看,怎么解决这个问题呢?

1,317

社区成员

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

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