客户端:
WORD wVersionRequested;
WSADATA wsaData;
SOCKET soc_client;
struct sockaddr_in sever_addr,client_addr;
struct fileInfo r_fileInfo,s_fileInfo;
int err,portNumber=21;
int client_addr_len=sizeof(client_addr);
unsigned long ip;
//CIPAddressCtrl m_ip;m_ip为输入值,比喻:192.168.0.1
m_ip.GetAddress(ip);
wVersionRequested=MAKEWORD(2,2);
err=WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
soc_client=socket(AF_INET,SOCK_STREAM,0);
client_addr.sin_family=AF_INET;
client_addr.sin_port=htons(portNumber);
client_addr.sin_addr.s_addr=htons(INADDR_ANY); /* 任意网络接口 */
err=bind(soc_client,(struct sockaddr *)&client_addr,sizeof(client_addr));
if(err!=0)
{
AfxMessageBox("绑定不成功");
return;
}
AfxMessageBox("绑定成功");
sever_addr.sin_family=AF_INET;
sever_addr.sin_port=htons(portNumber);
//sever_addr.sin_addr.s_addr=ip;
sever_addr.sin_addr.s_addr=inet_addr("192.168.0.2");
err=connect(soc_client,(LPSOCKADDR)&sever_addr,sizeof(sever_addr));
if(err!=0)
{
AfxMessageBox("链接不成功");
return;
}
AfxMessageBox("链接成功");
服务器端:
WORD wVersionRequested;
WSADATA wsaData;
SOCKET soc_sever,soc_client;
struct sockaddr_in sever_addr,client_addr;
struct fileInfo r_fileInfo,s_fileInfo;
struct dataBuf s_buf; //发送的文件数据块
int err,portNumber=21;
int client_addr_len=sizeof(client_addr);
long lenOfFile,leftLen,curPosition;//leftLen在哪里用过
CFile file;
wVersionRequested=MAKEWORD(2,2);
err=WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
soc_sever=socket(AF_INET,SOCK_STREAM,0);
sever_addr.sin_family=AF_INET;
sever_addr.sin_port=htons(portNumber);
sever_addr.sin_addr.s_addr=htons(INADDR_ANY); /* 任意网络接口 */
err=bind(soc_sever,(LPSOCKADDR)&sever_addr,sizeof(sever_addr));
if(err!=0)
{
AfxMessageBox("绑定不成功,退出");
return;
}
AfxMessageBox("绑定成功");
err=listen(soc_sever,5);//第二个参数是最大连接数
if(err!=0)
{
return;
}
if(file.Open(m_filePath,CFile::modeRead)==false)
{
AfxMessageBox("打不开文件");
exit(0);
}
AfxMessageBox("打开文件,开始侦听");
请问这有什么问题,为什么链接不上,
WORD wVersionRequested;
WSADATA wsaData;
SOCKET soc_client;
struct sockaddr_in sever_addr,client_addr;
struct fileInfo r_fileInfo,s_fileInfo;
int err,portNumber=21;
int client_addr_len=sizeof(client_addr);
unsigned long ip;
//CIPAddressCtrl m_ip;m_ip为输入值,比喻:192.168.0.1
m_ip.GetAddress(ip);
wVersionRequested=MAKEWORD(2,2);
err=WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
soc_client=socket(AF_INET,SOCK_STREAM,0);
client_addr.sin_family=AF_INET;
client_addr.sin_port=htons(portNumber);
client_addr.sin_addr.s_addr=htons(INADDR_ANY); /* 任意网络接口 */
err=bind(soc_client,(struct sockaddr *)&client_addr,sizeof(client_addr));
if(err!=0)
{
AfxMessageBox("绑定不成功");
return;
}
AfxMessageBox("绑定成功");
sever_addr.sin_family=AF_INET;
sever_addr.sin_port=htons(portNumber);
//sever_addr.sin_addr.s_addr=ip;
sever_addr.sin_addr.s_addr=inet_addr("192.168.0.2");
err=connect(soc_client,(LPSOCKADDR)&sever_addr,sizeof(sever_addr));
if(err!=0)
{
AfxMessageBox("链接不成功");
return;
}
AfxMessageBox("链接成功");
服务器端:
WORD wVersionRequested;
WSADATA wsaData;
SOCKET soc_sever,soc_client;
struct sockaddr_in sever_addr,client_addr;
struct fileInfo r_fileInfo,s_fileInfo;
struct dataBuf s_buf; //发送的文件数据块
int err,portNumber=21;
int client_addr_len=sizeof(client_addr);
long lenOfFile,leftLen,curPosition;//leftLen在哪里用过
CFile file;
wVersionRequested=MAKEWORD(2,2);
err=WSAStartup(wVersionRequested,&wsaData);
if(err!=0)
{
return;
}
soc_sever=socket(AF_INET,SOCK_STREAM,0);
sever_addr.sin_family=AF_INET;
sever_addr.sin_port=htons(portNumber);
sever_addr.sin_addr.s_addr=htons(INADDR_ANY); /* 任意网络接口 */
err=bind(soc_sever,(LPSOCKADDR)&sever_addr,sizeof(sever_addr));
if(err!=0)
{
AfxMessageBox("绑定不成功,退出");
return;
}
AfxMessageBox("绑定成功");
err=listen(soc_sever,5);//第二个参数是最大连接数
if(err!=0)
{
return;
}
if(file.Open(m_filePath,CFile::modeRead)==false)
{
AfxMessageBox("打不开文件");
exit(0);
}
AfxMessageBox("打开文件,开始侦听");
请问这有什么问题,为什么链接不上,
#include "winsock.h"#pragma comment(lib,"WSOCK32")static char welcome[]="Welcome to My Server!";
int main(int argc, char* argv[])
{
int len;
char buff[255];
memset(buff,0,sizeof(buff));
WSADATA wsdata;
WSAStartup(0x0202,&wsdata); SOCKET ListenSocket,NewSocket;
sockaddr_in s_in,new_s_in;
s_in.sin_family = AF_INET;
s_in.sin_addr.s_addr = htonl(INADDR_ANY);
s_in.sin_port = htons(55555); ListenSocket=socket(AF_INET,SOCK_STREAM,0); if(ListenSocket==INVALID_SOCKET)
{
printf("\n Failed to setup socket!");
return 0;
} bind(ListenSocket,(struct sockaddr * )&s_in,sizeof(s_in)); listen(ListenSocket,5); printf("\n Waiting for client to connect..."); len=sizeof(new_s_in); //用accept接收请求
NewSocket=accept(ListenSocket,(struct sockaddr *)&new_s_in,&len);
printf("\n Accepted a new client!");
send(NewSocket,welcome,sizeof(welcome),0); shutdown(NewSocket,2); closesocket(NewSocket); return 0;
}