• 大小: 12KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-18
  • 语言: C/C++
  • 标签: socket  C++  异步  

资源简介

一个小程序源代码,用VC6编写,直接可以运行 记得编译后添加ws2_32.lib 库文件

资源截图

代码片段和文件信息

#include 
#include 
#include 
#include “Winsock2.h“
using namespace std;

SOCKET s;
char sendBuf[30];
bool flag = FALSE;
DWORD WINAPI Fun1Proc(LPVOID lpParameter);


int main() 
{
cout << “Client“ << endl;

WSADATA wsd;

struct sockaddr_in my_addr;
int PORT = 5000;
 


my_addr.sin_family = AF_INET;     //选择网络类型为TCP/IP
    my_addr.sin_addr.s_addr = inet_addr(“59.78.17.189“); 
    my_addr.sin_port = htons( 8888 );  //选择端口8888
    int addr_len = sizeof(struct sockaddr_in);                
memset(&my_addr.sin_zero‘\0‘sizeof(my_addr.sin_zero));  

s = WSAStartup(MAKEWORD(22) &wsd);
s = socket ( PF_INET SOCK_STREAM IPPROTO_TCP);

//int ifConneted = connect( s (sockaddr *) & sin  sizeof(sin));
if( connect(s (sockaddr *)&my_addr sizeof(my_addr)) == 0 ) { printf(“Connect OK\n“); };



WSAEVENT hEvent = WSACreateEvent();
char recvBuf[30];
int n;


if( WSAEventSelect( s  hEvent  FD_READ | FD_CLOSE ) == 0 ) 
printf(“WSAEventSelect Succeeded!\n“);

WSANETWORKEVENTS networkEvents;

HANDLE hThread1;
hThread1=CreateThread(NULL0Fun1ProcNULL0NULL);

while(1) {

DWORD index = WSAWaitForMultipleEvents(5  &hEvent  FALSE  WSA_INFINITE  FALSE);

int EventType = WSAEnumNetworkEvents( s  hEvent  &networkEvents );

if(networkEvents.lNetworkEvents & FD_READ )
{
if( n = recv(s  recvBuf  30  0 )  ) { cout << recvBuf << endl;continue; }
}
if(networkEvents.lNetworkEvents & FD_CLOSE )
{
closesocket(s);
break;


if ( flag ) 
{
int m = send(s  sendBuf  30  0 );
flag = FALSE;
}

}

system(“pause“);
}





DWORD WINAPI Fun1Proc(LPVOID lpParameter)//thread data
{
    while (true)
    {
if ( !flag )
{
cin >> sendBuf;
flag = TRUE;
}
    }

    return 0;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1882  2011-03-30 21:02  Client.cpp

     文件       3440  2011-03-30 21:03  Client.dsp

     文件        520  2011-03-30 21:03  Client.dsw

     文件      41984  2011-03-30 21:04  Client.ncb

     文件      48640  2011-03-30 21:03  Client.opt

     文件       1293  2011-03-30 21:03  Client.plg

     文件       2279  2011-03-30 21:02  Service.cpp

     文件       3452  2011-03-30 21:03  Service.dsp

     文件        522  2011-03-30 21:03  Service.dsw

     文件      41984  2011-03-30 21:04  Service.ncb

     文件      48640  2011-03-30 21:03  Service.opt

     文件       1156  2011-03-30 21:02  Service.plg

----------- ---------  ---------- -----  ----

               195792                    12


评论

共有 条评论