服务器与客户机互传消息

一、服务器程序

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

在serverview.h中加入代码:

#include“winsock.h"

添加变量:

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

在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    if(m_hListenThread)
    {   m_data[3] +=“Succeeded";
       m_data[4] +=“Listening....";
    }
    else
       m_data[4] +=“Failed";
}

时间: 2024-10-03 02:07:00

服务器与客户机互传消息的相关文章

一个简单的服务器和客户机程序

这个例子将以最简单的方式运用套接字对服务器和客户机进行操作.服务器的全部工作就是等候建立一个连接,然后用那个连接产生的Socket创建一个InputStream以及一个OutputStream.在这之后,它从InputStream读入的所有东西都会反馈给OutputStream,直到接收到行中止(END)为止,最后关闭连接. 客户机连接与服务器的连接,然后创建一个OutputStream.文本行通过OutputStream发送.客户机也会创建一个InputStream,用它收听服务器说些什么(本

服务器和客户机是怎样连接的

2.3.1 服务器如何连接客户机    (1)出现如图2.34所示的[欢迎使用]界面.    (2)出现如图2.35所示的[监听程序配置,监听程序]界面.    (3)出现如图2.36所示的[监听程序配置,选择监听程序]界面.    (4)出现如图2.37所示的[监听程序配置,选择协议]界面.    (5)出现如图2.38所示的[监听程序配置,TCP/IP协议]界面.    (6)出现如图2.39所示的[监听程序配置,更多的监听程序]界面.2.3.2 客户机怎样连接服务器    管理客户机的工作

服务器和客户机

网络最基本的精神就是让两台机器连接到一起,并相互"交谈"或者"沟通".一旦两台机器都发现了对方,就可以展开一次令人愉快的双向对话.但它们怎样才能"发现"对方呢?这就象在游乐园里那样:一台机器不得不停留在一个地方,侦听其他机器说:"嘿,你在哪里呢?" "停留在一个地方"的机器叫作"服务器"(Server):到处"找人"的机器则叫作"客户机"(Clie

MYSQL客户机程序4—在运行时获取连接参数

    6.5 客户机程序4-在运行时获取连接参数     现在我们有了容易修改的防止出现错误的连接代码,我们要了解一些如何做某些比使用NULL 连接参数更灵巧的事情,如在运行时允许用户指定一些值.客户机程序3由于固定连接参数方面的缺陷,要想更改那些值中的任何一个,都必须编辑源文件并重新编译.这十分不方便,特别是想使程序用于其他人时.在运行时指定连接参数的一个通用的方法是使用命令行选项.MySQL分发包中的程序接受两种形式的连接参数,如表6 - 1所示.    与标准的MySQL客户机程序一致,

选择适合自己的DB2 9.5客户机连通性选项

作者详述了从DB2 Version 8到DB2 9.5以来IBM DB2数据服务器连通性选项的演变历史.此外,了解DB2 9.5中每个连通性选项的规范:包括指纹(fingerprint)级.轻量级以及会占用全部内存的选项,伴随此过程还将为您介绍一些技巧. 简介 在已发布的几个IBM DB2 for Linux UNIX, 和Windows(DB2)版本中,存在各种各样的DB2客户机和驱动程序允许您将应用程序连接到 DB2 数据服务器.从标准部署到轻量级运行时,再到不需要任何工具而仅要求一个连接字

01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

 1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器.   Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 二 开发 三 性能调优   WLS(Weblogic Server)   Weblogic 12c新特性是加入了云支持   2 集群的好处:失败迁移和负载均衡. 3 分布式系统 分布式系统将工作划分到几个独立的模块中. 单个模块出现故障对整个系统的影响较小,这使得分布式系统具有更高的: ----

客户机程序1—连接到MYSQL服务器

    6.2 客户机程序1-连接到服务器     我们的第一个MySQL客户机程序很简单:连接到服务器.断开,并退出.它本身并不是非常有用,但是必须知道如何做它,因为实际上用MySQL数据库做任何事情都必须与服务器连接.这是一个公用的操作,开发创建连接的代码是编写每个客户机程序都将使用的代码.除此之外,这项任务带给我们一些简单开始的事情.以后,我们可以增加这个客户机来做一些更有用的事情.我们第一个客户机程序的源代码突Щ绦?,包括一个单独的文件, client.c:    这个源文件以包括s

在做一个会议评标系统,服务器如何可以通知到客户机刷新内容?

问题描述 大致是1台[主持机].10台[会议机].1.开始首先11台机器都登录后会议开始.我计划用临时表存储IP地址和用户和会话ID.2.然后主持人输入保密信息后提交,开始会议.3.此时10台会议机应该可以自动刷新,看到加密信息.4.10台机器评审完成提交后.主持人应该可以自动刷新,看到保存的内容.5.主持人查看后发现错误,可以退回相应信息到该会议机要求重新评审.主要就是3无法解决,如何在主持机提交后刷新会议机.4和5也类似,都是这个指定刷新的问题. 解决方案 解决方案二:TCP通讯是双向的,只

如何编写Linux下的客户机/服务器软件

Linux以其源代码公开闻名于世,并以其稳定性和可靠性雄霸操作系统领域,在网络应用技术方面使用得更加广泛.很久以来它就是Windows的重要对手之一.随着网络时代的来临,Linux的这种优势已变得更加突出.本文将论述如何在Linux环境下利用Socket实现客户机/服务器通信. 随着网络技术的发展,网络结构已从过去的主机/终端型.对等型发展到现在广为使用的客户机/服务器型.客户机/服务器模型应用十分广泛,在Internet上WWW,E-mail,FTP等都是基于这种模型的.在面向连接的通信模式下