求高手指点一个C++写的关于socket多线程通信的连接问题,程序代码如下:创建工程,可以运行

/*………………服务器端如下……………………*/(客户端另外补充)#include<iostream>#include<string>#include<winsock2.... /*………………服务器端如下……………………*/(客户端另外补充)
#include<iostream>
#include<string>
#include<winsock2.h>
#include<cstdlib>
#pragma comment(lib,"ws2_32.lib")

using namespace std;

int main()
{
system("color 2");
cout<<"服务器启动.....\n";
//初始化winsock
WSADATA wsaData;

int err;
if(err=WSAStartup(MAKEWORD(2,1),&wsaData))
return 1;
if(LOBYTE(wsaData.wVersion)!=2 || HIBYTE(wsaData.wVersion)!=1)
{
WSACleanup();
return 1;
}
//创建监听套接字
SOCKET sclient=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
//绑定地址和监听套接字
sockaddr_in my_addr;//主机地址
my_addr.sin_family=AF_INET;
my_addr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
my_addr.sin_port=htons(8080);//指定端口
bind(sclient,(sockaddr*)&my_addr,sizeof(my_addr));

//启动监听
if(listen(sclient,5)!=0) //10代表最大连接数
cout<<"启动监听失败!\n";
//开始接收数据
sockaddr_in c_addr;//客户地址
int addr_len=sizeof(c_addr);
SOCKET sconnect=accept(sclient,(sockaddr*)&c_addr,&addr_len);//通过监听套接字创建连接
if(sconnect==INVALID_SOCKET)//INVALID_SOCKET=-1无效的套接字
{
cout<<"invalid socket\n";
return 0;
}
cout<<"链接成功...."<<endl;

while(true)
{
char buf[1024];
char buf1[1024];
int len=recv(sconnect,buf,sizeof(buf),0);
if(len>0)
cout<<"客户说:"<<buf<<endl;
cout<<endl;
cout<<"服务器说: ";
cin.getline(buf1,1024);
send(sconnect,buf1,strlen(buf1)+1,0);
/*
char kehu[1024];
string quit;
cout<<"回应(Ctrl+Z to exit):";
while(cin.getline(kehu,1024))
{
send(sconnect,kehu,strlen(kehu)+1,0);
cout<<"Do you want to quit(enter -999 to quit!): ";
cin>>quit;
if(strcmp(quit,"Q") == 0)
break;
}*/
}
closesocket(sclient);
WSACleanup();
system("pause");
return 0;

}
还没有输入内容,就出现错误了。
展开
 我来答
七月流光1
2013-07-15 · TA获得超过528个赞
知道小有建树答主
回答量:339
采纳率:100%
帮助的人:187万
展开全部
你这就一个服务器程序,客户端都没有,有什么问题就直接把问题截图上来看看啊。还有我看楼上的,你说要改ip,服务器是程序里面没有ip啊,服务器是监听所有不同的ip端连接的。我看你这代码的端口8080很有可能被占用,这个端口貌似是tomcat的默认端口,占用后就有可能监听失败。
更多追问追答
追问
有的客户端代码,只是这里放不下,在另外一个里面,你再搜一下,两个问题一字不差,可以搜到,麻烦大神了~!http://zhidao.baidu.com/question/570313984?quesup2&oldq=1这是客户端代码
追答
我看你客户端的那个1楼的说得很对,你修改后出现什么问题?把问题截图上来看看
zxpointer
2013-07-15 · TA获得超过4100个赞
知道大有可为答主
回答量:1868
采纳率:33%
帮助的人:1198万
展开全部
你的failed--服务器--10057是在哪里输出的 怎么看你的代码和截图都不一致啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hongye8821
2013-07-15
知道答主
回答量:63
采纳率:0%
帮助的人:18.3万
展开全部
你有啥问题呀
追问
你用VS创建一个工程,执行一下就知道是什么问题了,但是记住要改IP,这个IP是乱设置的,改为你的IPhttp://zhidao.baidu.com/question/570313984?quesup2&oldq=1客户端代码
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式