tcp视频传输-客户端

来源:互联网 发布:手机变声器软件 编辑:程序博客网 时间:2024/06/05 05:27
#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();}

原创粉丝点击