建立client - server 的过程:
closesocket()并不能正真的关闭套接字,要想关闭后重新连接,需要设置sClient= INVALId_SOCKET;
并在客户端重新建立连接socket();程序如下:
一。客户端
#include "stdafx.h"
#include <stdio.h>
#include <WinSock2.h>
#include <cxcore.h>
#include <highgui.h>
#pragma comment(lib,"ws2_32.lib")
int _tmain(int argc, _TCHAR* argv[])
{
/*--- 利用WSAStartup 来指定windows socket api的版本号 ---*/
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1);
err = WSAStartup(wVersionRequested,&wsaData);
if(err != 0)
{
return 0;
}
if (LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!= 1)
{
WSACleanup();
return 0;
}
/*--- 建立客户端套接字 ---*/
SOCKET sockClient; //客户端套接字
SOCKADDR_IN addrSrv; //结构,设定链接的服务器的ip地址,地址家族,端口号
addrSrv.sin_addr.S_un.S_addr = inet_addr("166.111.131.110");
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6100);
/*--- 初始化图象 利用openvc获取图像 ---*/
cvNamedWindow("show");
IplImage * img = cvCreateImage(cvSize(640,480),IPL_DEPTH_8U,3);
char * fileDir = "D:\\data\\20120306_203150\\orgRGB_";
int imglen = img->imageSize;
char imgDir[50];
int&n