资源简介
一个小程序源代码,用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
相关资源
- C++中头文件与源文件的作用详解
- C++多线程网络编程Socket
- VC++ 多线程文件读写操作
- 利用C++哈希表的方法实现电话号码查
- 移木块游戏,可以自编自玩,vc6.0编写
- C++纯文字DOS超小RPG游戏
- VC++MFC小游戏实例教程(实例)+MFC类库
- 连铸温度场计算程序(C++)
- 6自由度机器人运动学正反解C++程序
- Em算法(使用C++编写)
- libstdc++-4.4.7-4.el6.i686.rpm
- VC++实现CMD命令执行与获得返回信息
- 白话C++(全)
- C++标准库第1、2
- 大数类c++大数类
- C++语言编写串口调试助手
- c++素数筛选法
- C++ mqtt 用法
- 商品库存管理系统 C++ MFC
- c++ 多功能计算器
- C++17 In Detail
- 嵌入式QtC++编程课件
- 颜色识别形状识别STM103嵌入式代码
- c++ 邮件多附件群发
- c++ 透明代理(hookproxy)
- mfc 调用redis
- socket客户端.c
- socket服务端.c
- FTP客户端源码(c++)
- socket tcp应用
评论
共有 条评论