資源簡介
一個UDP聊天程序,比較簡單,用于新手學習用

代碼片段和文件信息
#include?
#pragma?comment(lib?“WS2_32“) //?鏈接到WS2_32.lib
#include?
using?namespace?std;
SOCKET????????socksrv;
sockaddr_in???addr;
int???????????nLen=sizeof(addr);
char??????????sendbuf[1024];
SOCKADDR_IN???addrin;
bool??????????beover;
DWORD?WINAPI?recvmessage(
LPVOID?lpParameter???//?thread?data
);
int?main(int?argcchar?*argv[])
{
WSADATA?wsadata;
if?(WSAStartup(MAKEWORD(22)&wsadata)==INVALID_SOCKET)
{
cout<<“Init?wsa?failed!“;
return?0;
}
socksrv=socket(AF_INETSOCK_DGRAMIPPROTO_UDP);
if?(socksrv==INVALID_SOCKET)
{
cout<<“socket?error!“< return?0;
}
// u_long?ul=1;
// ioctlsocket(socksrvFIONBIO(u_long*)&ul);//設置套接字為非阻塞模式
addrin.sin_family=AF_INET;
addrin.sin_port=htons(6666);
addrin.sin_addr.S_un.S_addr=inet_addr(“127.0.0.1“);
if?(bind(socksrv(sockaddr*)&addrinsizeof(addrin))==SOCKET_ERROR)
{
cout<<“bind?error!“;
return?0;
}
beover=0;
HANDLE?hadle;
hadle=CreateThread(NULL0recvmessageNULL0NULL);
CloseHandle(hadle);
Sleep(100);
int?nLen=sizeof(addr);
while?(!beover)
{
gets(sendbuf);
sendto(socksrvsendbuf10240(sockaddr*)&addrnLen);
}
closesocket(socksrv);
WSACleanup();
return?0;
}
//接收數據
DWORD?WINAPI?recvmessage(LPVOID?lpParameter)
{
char?revbuf[1024];
// revbuf[0]=‘\0‘;
while?(1)
{
int?revbyte=recvfrom(socksrvrevbuf10240(sockaddr*)&addr&nLen);
// revbuf[revbyte]?=?‘\0‘;
if?(revbyte>0)
{
cout<<“IP:?“< if?(strcmp(“bye“revbuf)==0)
{
// cout<<“chat?over!“< beover=1;
return?0;
}
}
}
return?0;
}
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????520??2009-04-09?08:30??UDPsrv\UDPsrv.dsw
?????文件??????41984??2009-04-09?14:31??UDPsrv\UDPsrv.ncb
?????文件????????653??2009-04-09?14:30??UDPsrv\UDPsrv.plg
?????文件???????4287??2009-04-09?12:02??UDPsrv\UDPsrv.dsp
?????文件???????1740??2009-04-09?14:21??UDPsrv\UDPserver.cpp
?????文件??????49664??2009-04-09?14:31??UDPsrv\UDPsrv.opt
?????目錄??????????0??2009-04-09?12:03??UDPsrv
?????文件???????6971??2009-04-09?16:29??UDPclient.rar
-----------?---------??----------?-----??----
???????????????105819????????????????????8
評論
共有 條評論