资源简介
使用winsocket 实现了简单的即时通信程序

代码片段和文件信息
#include
#include
#include //winsock2 error???
using namespace std;
WSADATA wsaData;
SOCKET sConnect;
SOCKET sServer;
SOCKADDR_IN serverAddr;
int recvbytes;
int nResult;
char buf[180];
char message[180];
HANDLE hthread1;
HANDLE hthread2;
bool judge=false;
#define SERVPORT 5050
#define SERVIP “127.0.0.1“
#pragma comment(lib“ws2_32.lib“)
DWORD WINAPI rec(LPVOID pParam);
DWORD WINAPI sen(LPVOID pParam);
int main(int argc char *argv[])
{
WSAStartup(MAKEWORD(22) &wsaData);
sConnect = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
serverAddr.sin_family = AF_INET;
serverAddr.sin_port = htons(SERVPORT);
serverAddr.sin_addr.s_addr = inet_addr(SERVIP);
memset(&(serverAddr.sin_zero) 0 sizeof(serverAddr.sin_zero));
if (connect(sConnect (SOCKADDR *)&serverAddr sizeof(SOCKADDR)) == SOCKET_ERROR)
{
printf(“connect failed!\n“);
return 0;
}
cout<<“hello world!!!!“< hthread1=CreateThread(NULL 0recNULL0NULL);
hthread2=CreateThread(NULL 0senNULL0NULL);
CloseHandle(hthread1);
CloseHandle(hthread2);
closesocket(sConnect);
WSACleanup();
return 0;
}
DWORD WINAPI rec(LPVOID pParam)
{
if (judge!=true)
{
recvbytes = recv(sConnect buf 180 0);
if (recvbytes == SOCKET_ERROR)
{
cout<<“receive failed“< }
else
{
buf[recvbytes] = ‘\0‘;
printf(“%s\n“buf);
}
}
return 0;
}
DWORD WINAPI sen(LPVOID pParam)
{
if (judge!=true)
{
cin>>message;
if (message==“exit“)
{
judge=true;
return 0;
}
nResult = send(sServer message 16 0);
if (nResult == SOCKET_ERROR)
{
printf(“send failed!“);
}
}
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 53248 2008-11-01 10:11 msg_S\debug\msg_C.exe
文件 407916 2008-11-01 10:11 msg_S\debug\msg_C.ilk
文件 535552 2008-11-01 10:11 msg_S\debug\msg_C.pdb
文件 53248 2008-11-01 10:11 msg_S\debug\msg_S.exe
文件 418360 2008-11-01 10:11 msg_S\debug\msg_S.ilk
文件 535552 2008-11-01 10:11 msg_S\debug\msg_S.pdb
文件 1895 2008-11-01 10:11 msg_S\msg_C\c.cpp
文件 9462 2008-11-01 10:11 msg_S\msg_C\Debug\BuildLog.htm
文件 57203 2008-11-01 10:11 msg_S\msg_C\Debug\c.obj
文件 403 2008-11-01 10:11 msg_S\msg_C\Debug\msg_C.exe.em
文件 468 2008-11-01 10:11 msg_S\msg_C\Debug\msg_C.exe.em
文件 385 2008-11-01 10:11 msg_S\msg_C\Debug\msg_C.exe.intermediate.manifest
文件 69 2008-11-01 10:11 msg_S\msg_C\Debug\mt.dep
文件 412672 2008-11-01 10:11 msg_S\msg_C\Debug\vc80.idb
文件 225280 2008-11-01 10:11 msg_S\msg_C\Debug\vc80.pdb
文件 3979 2008-10-30 23:14 msg_S\msg_C\msg_C.vcproj
文件 1411 2008-11-01 10:23 msg_S\msg_C\msg_C.vcproj.25HOURS.hua.user
文件 9434 2008-11-01 10:11 msg_S\msg_S\Debug\BuildLog.htm
文件 403 2008-11-01 10:11 msg_S\msg_S\Debug\msg_S.exe.em
文件 468 2008-11-01 10:11 msg_S\msg_S\Debug\msg_S.exe.em
文件 385 2008-11-01 10:11 msg_S\msg_S\Debug\msg_S.exe.intermediate.manifest
文件 69 2008-11-01 10:11 msg_S\msg_S\Debug\mt.dep
文件 58204 2008-11-01 10:11 msg_S\msg_S\Debug\s.obj
文件 412672 2008-11-01 10:11 msg_S\msg_S\Debug\vc80.idb
文件 225280 2008-11-01 10:11 msg_S\msg_S\Debug\vc80.pdb
文件 3979 2008-10-30 23:14 msg_S\msg_S\msg_S.vcproj
文件 1411 2008-11-01 10:23 msg_S\msg_S\msg_S.vcproj.25HOURS.hua.user
文件 2484 2008-11-01 10:11 msg_S\msg_S\s.cpp
文件 12889088 2008-11-01 10:23 msg_S\msg_S.ncb
文件 1333 2008-10-30 23:14 msg_S\msg_S.sln
............此处省略10个文件信息
- 上一篇:数值分析讲义 word版
- 下一篇:Response2000
相关资源
- 易语言OTG串口通信
- STM32 2.4G通信例程
- Visio图标-最新最全的网络通信图标库
- 基于蓝牙4.0的设备通信方案设计与实
- VisualStudioUninstaller vs卸载工具
- WPF USB 网络 串口 通信软件
- 组态王驱动开发包3.0.0.7(中文)
- 多窗口后台鼠标连点器
- 使用选择性重传协议实现UDP可靠通信
- DELPHI与西门子200PLC的串口通信实例
- Labview与CH372CH375的通信测试
- 通信软件的具体实例──基于Socket的
- VC 获得文件属性 获取文件的创建时
- 用Socket编程实现FTP
- 读者写者问题(读者优先,写者优先
- 用VC 编写的仿QQ聊天室程序源代码
- websocket实现一对一聊天
- 外点法程序
- 外罚函数程序
- qt-电子点菜系统
- 防火墙编程-Visual C 网络通信开发
- 推箱子及人工智能寻路C 源代码
- 自己写的航空订票系统c 版--数据结构
- 数据结构实验魔王语言
- MUSIC算法c 实现
- C 餐厅叫号系统(QT平)
- 国际象棋c 完整版
-
ob
jectARX给Auto CAD加工具条 - 画图程序MFC/VC/VC CRectTracker 串行化
- MFC网络编程实例
评论
共有 条评论