Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабы / !lab1 / Client / Client1

.cpp
Скачиваний:
23
Добавлен:
17.04.2013
Размер:
1.69 Кб
Скачать
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <iostream.h>
#include "Client1.h"
#include"Winsock2.h"
#include"sys/types.h"

#pragma comment (lib,"ws2_32.lib")

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

int main()
{
	SOCKET s;
	struct sockaddr_in tcpaddr;
	int rc;
	u_short BufferLength;
	CFile File;
	CString sWorkDir;
	CString sFileName;

	WSADATA wsaData;
	WSAStartup(MAKEWORD(2,2),&wsaData);

	tcpaddr.sin_family = AF_INET;
	tcpaddr.sin_port = htons(5150);
	tcpaddr.sin_addr.s_addr = inet_addr("127.0.0.1");

	s = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
	if(s == INVALID_SOCKET) return 1;
	rc = connect(s,(struct sockaddr *)&tcpaddr,sizeof(tcpaddr));
	if(rc != 0) return 1;
		
	cout<<"Enter work directory:";
	cin>>sWorkDir.GetBuffer(1024);

	while (SetCurrentDirectory((LPCTSTR)sWorkDir) == 0)
	{
		cout<<"Invalid directory"<<endl;
		return -1;	
	}

	cout<<"Enter file name:";
	cin>>sFileName.GetBuffer(1024);

	if(!File.Open((LPCTSTR)sFileName,CFile::modeRead) )
    {
        cout<< "File could not be opened "  << "\n";
    }
	else cout<<"File open"<<endl;

	DWORD dwRead = 1;
	BYTE Buffer[4096];

	do
	 {
         dwRead = File.Read(Buffer, 4096);
         BufferLength = htons((u_short)dwRead);
		 rc = send(s,(char*)&BufferLength,sizeof(u_short),0);
		 rc = send(s,(char*)&Buffer,dwRead,0);	 
      }  
	 while(dwRead != 0);

	 File.Close();
     
	 int end = 0;
	 BufferLength = htons((u_short)end);
	 rc = send(s,(char*)&BufferLength,sizeof(u_short),0);

     closesocket(s);
     WSACleanup();

	 return 0;
}




Соседние файлы в папке Client
  • #
    17.04.201316.93 Кб24Client1.aps
  • #
    17.04.2013244 б24Client1.clw
  • #
    17.04.20131.69 Кб23Client1.cpp
  • #
    17.04.20134.29 Кб23Client1.dsp
  • #
    17.04.2013539 б23Client1.dsw
  • #
    17.04.2013329 б23Client1.h
  • #
    17.04.201391.14 Кб23Client1.ncb
  • #
    17.04.201354.78 Кб23Client1.opt