资源简介
一个小程序源代码,用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
相关资源
- SM2_SM3_SM4_C语言实现+SM3_C++实现+国家密
- SDK入门(用C和C++来调用WindowsAPI)
- vigenere密码加密解密算法实现软件Vc
- C++仿qq程序源代码及程序
- VC++6.0完美运行在win7和win10系统上
-
xm
l解析 CMarkup类 c++ - C++ 操作注册表
- 用c++模拟直线插补和圆弧插补二.cpp
- 用c++模拟直线插补和圆弧插补一.cpp
- 用C++模拟直线插补图形
- 银行借贷系统c++ 编程
- 《C++ Primer Plus第6版中文版》源代码和
- 一个老师给的高斯投影正、反算c++源
- 物业管理系统c++ 课程设计源码
- WindowsCE或WM上C++加载显示GIF动画的程序
- 获取系统安装软件(vc++源码)
- C++ Primer Plus 6th 编程练习答案
- 用VC++实现图像连通区域标记
- C/C++语言实现求矩阵的广义逆
- 基于C++ builder 的文件传输代码
- 多边形拓扑关系算法C++程序
- VC6.0下开发的仿windows记事本-达尔魔记
- LZ77、LZ78对文件编译码
- 图像Susan角点检测算法代码非常稳健的
- microphone.zip
- c++实现ftp list所有文件与目录 & ftp d
- 置换密码的c++实现程序
- C++实现TIN
- c++模拟进程 解决c++中的难题
- C++ AVI播放器
评论
共有 条评论