• 大小: 2.57MB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-30
  • 语言: 其他
  • 标签: c++  socket  通信  

资源简介

使用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.embed.manifest

     文件        468  2008-11-01 10:11  msg_S\msg_C\Debug\msg_C.exe.embed.manifest.res

     文件        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.embed.manifest

     文件        468  2008-11-01 10:11  msg_S\msg_S\Debug\msg_S.exe.embed.manifest.res

     文件        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个文件信息

评论

共有 条评论