WEB开发网
开发学院软件开发VC 用VC编写C/S消息传送程序 阅读

用VC编写C/S消息传送程序

 2008-11-14 19:37:11 来源:WEB开发网   
核心提示:网络编程已经成为一种时髦,以TCP/IP协议的网络更为流行.自己编一个服务器与客户机互相传送消息的程序,以便增加自己网络编程的经验,用VC编写C/S消息传送程序,下面我就介绍一下我编的程序,首先介绍服务器程序:1.创建一个名为"server"的项目,单文档界面.2.在serverview.h中加入代

网络编程已经成为一种时髦,以TCP/IP协议的网络更为流行.自己编一个服务器与客户机互相传送消息的程序,以便增加自己网络编程的经验。下面我就介绍一下我编的程序。

首先介绍服务器程序:

1.创建一个名为"server"的项目,单文档界面.

2.在serverview.h中加入代码:

#include "winsock.h"

添加变量:

CSize sizeTotal;//控制滚动条
intcount;//信息条数
CString m_data[1000];//信息存放
char Hostname[260];
char Hostaddress[20];//主机IP地址
SOCKET m_sock;
HANDLE m_hListenThread;//线程
BOOL m_bInitialized;//是否初始化
WSADATAWSAData;
BOOL flag;
SOCKADDR_IN saClnt;
int saClntLen;
BOOL Isconnect;//是否连接

3.在serverview.cpp中重载CServerView()构造器,创建并绑定嵌套字:

CServerView::CServerView()
{
 // TODO: add construction code here
 Isconnect=FALSE;
 flag=FALSE;
 sizeTotal.cy=350;
 sizeTotal.cx=300;
 m_hListenThread;
 count=5;
 int status;
 WSADATA wsaData;
 m_data[0]="initializing Windows Sockets DLL....";
 if((status=WSAStartup(0x0101,&wsaData))==0)
 {
  m_data[0]+="Succeeded";
  m_bInitialized=TRUE;
 }
 else
 {
  m_bInitialized=FALSE;
 }
 m_sock=socket(AF_INET,SOCK_DGRAM,0);
 m_data[1]="Creating socket....";
 if(m_sock==INVALID_SOCKET)
 {
  m_data[1]+="Failed";
 }
 m_data[1]+="Succeeded";
 m_data[2]="Binding socket....";
 sockaddr_in sa;
 sa.sin_family=AF_INET;
 sa.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
 sa.sin_port=htons(5050);
 if(bind(m_sock,(PSOCKADDR)&sa,sizeof(sa))==SOCKET_ERROR)
 {
  m_data[2]+="Failed";
  closesocket(m_sock);
 }
 m_data[2]+="Succeeded";
 m_data[3]="Creating listener thread....";
 unsigned long idThread;
 m_hListenThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)Listen,(void *)this,0,&idThread);
 if(m_hListenThread)
 {
  m_data[3]+="Succeeded";
  m_data[4]+="Listening....";
 }
 else
  m_data[4]+="Failed";
}

1 2 3 4 5 6  下一页

Tags:VC 编写 消息

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接