#include<winsock2.h>
#include<iostream>
#include<fstream>
#include<string>
//#include<stdio.h>
#define DATA_BUFFER 512 //发送缓存大小
using namespace std;
int main()
{
WSADATA wsaData;
SOCKET sClient;
int i=0;
//发送的数据长度
int isndLen;
//发送缓冲区
char sndbuf[DATA_BUFFER];
//发送缓存初始化
memset(sndbuf,0,DATA_BUFFER);
char *Serip="10.25.162.181";//随着程序所在主机的地址改变而改变
int SeriPort=5050;
//服务器端SOCKET地址结构
struct sockaddr_in serAddr;
//填写要连接的服务器地址信息
serAddr.sin_family=AF_INET;
serAddr.sin_port=htons(SeriPort);
serAddr.sin_addr.s_addr=inet_addr(Serip);
if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)
{
cout<<"failed to load winsock"<<endl;
return 0;
}
//建立客户端字节流式套接字(TCP套接字)
sClient=socket(AF_INET,SOCK_STREAM,0);
if(sClient==INVALID_SOCKET)
{
cout<<"socket() failed :"<<WSAGetLastError()<<endl;
return 0;
}
string a;
fstream str;
str.open("姚静.avi",ios::binary|ios::in);
//请求与服务器建立连接
// cout<<"set link";
if(connect(sClient,(struct sockaddr *)&serAddr,sizeof(serAddr))==INVALID_SOCKET)
{
cout<<"connect() failed: "<<WSAGetLastError()<<endl;
return 0;
}
else
{//向服务器端发送数据
while(1)
{
cout<<endl;
i++;
cout<<"第"<<i<<"发送"<<endl;
while(getline(str,a)) {
cout<<a<<endl;
isndLen=send(sClient,a.data(),sizeof(a),0);
break;
if(isndLen==0)
return 0;
else if(isndLen==SOCKET_ERROR)
{
cout<<"send() failed:"<<WSAGetLastError()<<endl;
return 0;
}
}
cout<<a<<"hh"<<endl;
}
}
closesocket(sClient);
WSACleanup();
}
tcp视频传输-客户端
最新推荐文章于 2023-10-29 00:29:15 发布