菜鸟初来报道,希望有大侠能指教一下。怎么修改下面2个代码,使其能够 发送和接收文件(Client、Server)?
要求用到cfile来完成。我是用vc6.0里面那个win32 console application做的。怎么它老是说我cfile没有声明。我就是不懂怎么将这2个代码跟cfile合起来用。
client的代码如下:
#include "stdafx.h"
#include "winsock2.h"
#include "stdio.h"
#pragma comment(lib,"wsock32.lib")int main(int argc, char* argv[])
{
int iPort,iTmp;
SOCKET s;
SOCKADDR_IN sin;
WSADATA wsad;
WORD wVersionReq;
char recvBuf[] = "hello world"; iPort=3000;
sin.sin_addr.s_addr=inet_addr("127.0.0.1");
sin.sin_family=PF_INET;
sin.sin_port=htons(iPort); wVersionReq=MAKEWORD(2,2); WSAStartup(wVersionReq,&wsad); s=socket(PF_INET,SOCK_STREAM,0); iTmp=sizeof(sin);
printf("WinSock Client Start......\n");
connect(s,(LPSOCKADDR)&sin,iTmp); send(s,recvBuf,12,0);
printf("Sent Data:\n------------------\n%s\n------------------\n",recvBuf); closesocket(s);
WSACleanup();
return 0;
}
server的代码如下:
#include "stdafx.h"
#include "winsock2.h"
#include "stdio.h"
#pragma comment(lib,"wsock32.lib")sockaddr_in seraddr;int main(int argc, char* argv[])
{
int iPort,iTmp;
SOCKET s,rs;
SOCKADDR_IN sin,rsin;
WSADATA wsad;
WORD wVersionReq;
char recvBuf[100]; wVersionReq=MAKEWORD(2,2);
iPort = 3000;
WSAStartup(wVersionReq,&wsad); s=socket(PF_INET,SOCK_STREAM,0); sin.sin_family=PF_INET;
sin.sin_port=htons(iPort);
sin.sin_addr.s_addr=INADDR_ANY;
iTmp=sizeof(sin); bind(s,(LPSOCKADDR)&sin,iTmp);
listen(s,1); printf("WebServer Running......\n"); rs=accept(s,(LPSOCKADDR)&rsin,&iTmp);
recv(rs,recvBuf,12,0);
printf("RECEIVED DATA: \n---------\n%s\n-----------\n",recvBuf); closesocket(rs);
return 0;
}
要求用到cfile来完成。我是用vc6.0里面那个win32 console application做的。怎么它老是说我cfile没有声明。我就是不懂怎么将这2个代码跟cfile合起来用。
client的代码如下:
#include "stdafx.h"
#include "winsock2.h"
#include "stdio.h"
#pragma comment(lib,"wsock32.lib")int main(int argc, char* argv[])
{
int iPort,iTmp;
SOCKET s;
SOCKADDR_IN sin;
WSADATA wsad;
WORD wVersionReq;
char recvBuf[] = "hello world"; iPort=3000;
sin.sin_addr.s_addr=inet_addr("127.0.0.1");
sin.sin_family=PF_INET;
sin.sin_port=htons(iPort); wVersionReq=MAKEWORD(2,2); WSAStartup(wVersionReq,&wsad); s=socket(PF_INET,SOCK_STREAM,0); iTmp=sizeof(sin);
printf("WinSock Client Start......\n");
connect(s,(LPSOCKADDR)&sin,iTmp); send(s,recvBuf,12,0);
printf("Sent Data:\n------------------\n%s\n------------------\n",recvBuf); closesocket(s);
WSACleanup();
return 0;
}
server的代码如下:
#include "stdafx.h"
#include "winsock2.h"
#include "stdio.h"
#pragma comment(lib,"wsock32.lib")sockaddr_in seraddr;int main(int argc, char* argv[])
{
int iPort,iTmp;
SOCKET s,rs;
SOCKADDR_IN sin,rsin;
WSADATA wsad;
WORD wVersionReq;
char recvBuf[100]; wVersionReq=MAKEWORD(2,2);
iPort = 3000;
WSAStartup(wVersionReq,&wsad); s=socket(PF_INET,SOCK_STREAM,0); sin.sin_family=PF_INET;
sin.sin_port=htons(iPort);
sin.sin_addr.s_addr=INADDR_ANY;
iTmp=sizeof(sin); bind(s,(LPSOCKADDR)&sin,iTmp);
listen(s,1); printf("WebServer Running......\n"); rs=accept(s,(LPSOCKADDR)&rsin,&iTmp);
recv(rs,recvBuf,12,0);
printf("RECEIVED DATA: \n---------\n%s\n-----------\n",recvBuf); closesocket(rs);
return 0;
}
解决方案 »
- 取类成员函数的地址问题
- MFC中用Msscript.ocx控件调用Jcript脚本,如何实现AddObject。
- 新的Web语言,Write Servlet in C(C/C++ Servlet Page)
- 我想编有音频、视频在网络中传输的软件。我该看哪本书好?
- 欢迎高手指点
- 简单问题,请问,高分!
- VC如何在DAO中实现查询?
- ado记录集的简单问题
- vc UIThread 用户界面线程WS_CHILD类型 刷新问题
- 如何判断一LPCTSTR变量中有字符串"abc"!!!用何函数!!!
- 基类中的成员变量/方法如何在子类的子类中不能被访问?
- CAsyncSocket 中receive总接受空数据为什么?
你的意思是把客户端和服务端做在一个.exe的文件里,这样你得建一个MFC工程.把代码回在里头就可以了,改动的不多