// TODO: Add your control notification handler code here
GetDlgItem(IDC_STAR)->EnableWindow(false);//”启动“按钮无效
seversocket=socket(AF_INET, SOCK_STREAM, 0);//创建服务套接字
sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(5050);//端口
server.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(seversocket, (PSOCKADDR)&server, sizeof(server))==SOCKET_ERROR)//绑定套接字
{
WSAGetLastError();
closesocket(seversocket);
}
if (listen(seversocket,5)==SOCKET_ERROR)//监听
{
WSAGetLastError();
closesocket(seversocket);
}
SOCKADDR client;
int clientlen=sizeof(client);
SOCKET clientsocket=accept(seversocket,&client,&clientlen);//等待连接
if (clientsocket==SOCKET_ERROR)
{
WSAGetLastError();
closesocket(seversocket);
}
char buf[1024];
char *p_c;
int count;
int numchr;
while(1)//进入接收发送的无限循环
{
p_c=buf;
count=sizeof(buf);
numchr=0;
do
{
numchr=recv(clientsocket,p_c,count,0);//接收数据
if(numchr==SOCKET_ERROR)
{
}
else
{
p_c+=numchr;
count-=numchr;
}
}while(count>0);
//发送速据
count=sizeof(buf);
numchr=0;
CTime m_time;
m_time=CTime::GetCurrentTime(); //获取当前时间日期
CString str=m_time.Format("%H:%M:%S: "); //格式化
CString str1=buf;
CString str2=str+str1;
p_c=(LPSTR)(LPCTSTR)(str2);
do
{
numchr=send(clientsocket,p_c,count,0);//发送数据
if(numchr==SOCKET_ERROR)
{
}
else
{
p_c+=numchr;
count-=numchr;
}
}while(count>0);
}
}
帮忙看一下,为什么这段程序不能启动服务器呢?
GetDlgItem(IDC_STAR)->EnableWindow(false);//”启动“按钮无效
seversocket=socket(AF_INET, SOCK_STREAM, 0);//创建服务套接字
sockaddr_in server;
server.sin_family = AF_INET;
server.sin_port = htons(5050);//端口
server.sin_addr.s_addr = htonl(INADDR_ANY);
if (bind(seversocket, (PSOCKADDR)&server, sizeof(server))==SOCKET_ERROR)//绑定套接字
{
WSAGetLastError();
closesocket(seversocket);
}
if (listen(seversocket,5)==SOCKET_ERROR)//监听
{
WSAGetLastError();
closesocket(seversocket);
}
SOCKADDR client;
int clientlen=sizeof(client);
SOCKET clientsocket=accept(seversocket,&client,&clientlen);//等待连接
if (clientsocket==SOCKET_ERROR)
{
WSAGetLastError();
closesocket(seversocket);
}
char buf[1024];
char *p_c;
int count;
int numchr;
while(1)//进入接收发送的无限循环
{
p_c=buf;
count=sizeof(buf);
numchr=0;
do
{
numchr=recv(clientsocket,p_c,count,0);//接收数据
if(numchr==SOCKET_ERROR)
{
}
else
{
p_c+=numchr;
count-=numchr;
}
}while(count>0);
//发送速据
count=sizeof(buf);
numchr=0;
CTime m_time;
m_time=CTime::GetCurrentTime(); //获取当前时间日期
CString str=m_time.Format("%H:%M:%S: "); //格式化
CString str1=buf;
CString str2=str+str1;
p_c=(LPSTR)(LPCTSTR)(str2);
do
{
numchr=send(clientsocket,p_c,count,0);//发送数据
if(numchr==SOCKET_ERROR)
{
}
else
{
p_c+=numchr;
count-=numchr;
}
}while(count>0);
}
}
帮忙看一下,为什么这段程序不能启动服务器呢?
解决方案 »
- 用CEdit嵌套在CVIew里面写了一个笔记本,实现分段功能
- vc6.0 保存文件时老是丢失文件
- BoundsChecker v7.2提示No source file
- L 非宏,是个什么东东
- 关于标题栏重绘的问题
- 如何序列化COleClientItem??
- 特小一个问题...小弟无法解决, 求各位万忙小观!
- 100分相送:求《VISUAL C++MFC编程实例>> 和<<VISUAL C++MFC扩展编程实例>>书的源码?[email protected]
- 请教哪里有关于远程控制原理的文章和代码下
- 欲哭无泪,求大神帮忙!!有关图像拼接中的RANSAC提纯问题
- 如何在绘图程序中实现标尺?????????????
- VC怎么访问excel表格
WSAStartup
WSACleanup
2)WSAGetLastError()获得出错原因
3)没见过你这么用WSAGetLastError的。