www.pudn.com > win控制台程序(可以发送,但接受还需要完善)776.zip > RawTcp.cpp
#define DEBUG
/* #define DEBUG_SENDIP_1*/
/* #define DEBUG_SENDIP_2*/
#define DEBUG_RECEIVEIP_1
#define DEBUG_RECEIVEIP_2
#define MAJOR_VERSION 1
#define MINOR_VERSION 2
#define WSA_MAKEWORD(x,y) ((y)*256+(x))
#include "rawTcp.h"
int main(int argc, char *argv[])
{
WORD wMajorVersion, wMinorVersion;
LPWSADATA lpmyWSAData;
WORD VersionReqd;
wMajorVersion = MAJOR_VERSION;
wMinorVersion = MINOR_VERSION;
lpmyWSAData = (LPWSADATA)malloc(sizeof(WSADATA));
VersionReqd = WSA_MAKEWORD(wMajorVersion,wMinorVersion);
int Status = WSAStartup(VersionReqd, lpmyWSAData);
if (Status != 0)
{
printf("error on startup sock\n");
return -1;
}
extern int mssleep;
int op_flag;
char *local_filename, *hostname;
/* check parameter info */
if( argc < 4)
{
fprintf(stderr, "usage: %s hostname op_flag(r/w) local_filename [pause_ms]\n",argv[0]);
WSACleanup();
exit(1);
}
local_filename = argv[3];
hostname = argv[1];
/*** set op_flag ***/
if(argv[2][0]=='r')
{ /* check parameter info */
op_flag=CMD_FILE_READ;
hostname = argv[1];
local_filename = argv[3];
}
else if(argv[2][0]=='w')
{ /* check parameter info */
op_flag=CMD_FILE_WRITE;
hostname = argv[1];
local_filename = argv[3];
if( argc == 5)
mssleep=atoi(argv[4]);
}
else
{
perror("Wrong in Command");
WSACleanup();
exit(1);
}
/*
#ifdef DEBUG
printf("You have typed:\n %s, %s, %s, %s\n", argv[0],hostname,argv[2],local_filename);
#endif
*/
if(op_flag == CMD_FILE_READ)
do_file_read_transfer(hostname, local_filename);
else if(op_flag == CMD_FILE_WRITE)
do_file_write_transfer(hostname, local_filename);
printf("All done!!!\n");
WSACleanup();
return 1;
}