利用CB创建用户自己的网上聊天程序

网络是一个激动人心的领域,编写网络上的应用程序更是很多程序员向往的情节,然而编写网络程序需要掌握大量的网络传输协议、编程接口和WinSock32 API 函数,正因为如此,要完成从Windows程序员到Web程序员的转变不是一件易事.最近笔者成功的用C++ Builder 5.0 Enterprise 版编写出了网上聊天程序,特介绍如下:

一、原理:网络聊天工具需要通过TCP/IP协议,因此可以把网络聊天程序分为服务器端和客户器端两部分,其中 服务器端用以把程序转换成一个虚拟的 TCP/IP 服务器. 并且和指定的客户机建立连接,在连接成功后,向指定的客户器发送和接收数据;客户器端把程序转换成一个虚拟的TCP/IP 客户器,并且向指定的服务器发出连接信号,在连接成功后,向指定的服务器发送和接收数据。在C++ Builder 5.0 环境下服务器端和客户器端的功能分别由TServerSocket控件和TClientSocket 控件加以实现。其中TCP/IP协议以包含在控件的属性中,因此只要正确填入属性,便可实现网上通讯。

二、具体实现:首先`在C++ builder 5.0 环境下建立一个Application ,并保存为Project1。在Form1 上添加如下控件,并设置相关属性,其中Memo2于显示对方传来的信息,其中Memo1用于显示传给对方的信息:

控件名称         属性         值

Tbevel         Caption       Bevel1

TSpeedButton     Caption       SpeedButton1

Tmemo         Caption       Memo1

Tmemo         Caption       Memo2

TMainMenu       Caption       MainMenu1

TServerSocket     Caption       ServerSocket1

TClientSocket     Caption      ClientSocket1

同时在 MainMenu1控件中增加 三个菜单项,其属性为

Name                 Caption  

Connect               连接

Disconncet              断开

Listin                监听

在Unit1 的Private中添加:

bool   IsServer;

String  Server;

在Connect 的Click句柄添加如下代码:

void __fastcall TForm1::ConnectClick(Tobject *Sender)
{
if (ClientSocket1->Active){ ClientSocke1t->Active = false;} // 判断是否以连接,如连接则断开连接//
if (InputQuery("Computer to connect to", "添入要连接的机器的IP地址:", Server))
{
   if (Server1.Length() > 0)//判断用户是否已经添入//
   {
     ClientSocket-1>Host = Server;//设置要连接的IP地址为用户指定的IP地址值//
     ClientSocket1->Active = true;//进行连接//
   }
}
}

在Listen的Click句柄添加如下代码:

void __fastcall Form1 ::ListenClick(Tobject *Sender)
{
Listen->Checked = !Listen->Checked;
if (Listen->Checked)
   ServerSocket1->Active = true;//服务器端监听来自客户器断的信号//
else
   ServerSocket1->Active = false;
}

时间: 2024-09-17 04:03:44

利用CB创建用户自己的网上聊天程序的相关文章

VB中利用MapX创建用户定制工具

摘要 本文介绍了VB中如何利用MapX创建用户定制地图工具,详细地说明了整个创建过程,以及在创建定制工具的过程中所使用的关键方法. 1.前言 随着地理信息系统的发展,国内外已出现了不少GIS(地理信息系统)软件,其中MapX是MapInfo公司的ActiveX控件产品.由于它是一种基于Windows操作系统的标准控件,因而MapX4.0支持绝大多数标准的可视化开发环境,如:VisualBasic,Delphi,PowerBuilder,VisualC++等面向对象语言,而且可以使用Lotus s

用SQL 2000创建用户化XML流

xml|创建 你可能想在程序当中使用XML,但是仅仅用一个简单的查询是不能从Microsoft SQL Server 2000中获取其信息的. 让我们假设你想将一个HTML 表格连接到一个XML数据岛,但是你十分确定要将若干表格套入母表中十分复杂.母表中的每一个表格一定是XML数据结构中父节点下的一组节点.电话号码目录就是一个很好的例子. <TABLE dataSrc="#xmlPhoneData"><TR>    <TD>        <S

oracle中如何创建用户

一.用户的概念 用户,即user,通俗的讲就是访问oracle数据库的"人".在oracle中,可以对用户的各种安全参数进行控制,以维护数据库的安全性,这些概念包括模式(schema).权限.角色.存储设置.空间限额.存取资源限制.数据库审计等.每个用户都有一个口令,使用正确的用户/口令才能登录到数据库进行数据存取. 二.用户默认表空间 表空间是信息存储的最大逻辑单位.当用户连接到数据库进行资料存储时,若未指出数据的目标存储表空间时,则数据存储在用户的默认表空间中. 比如:create

RedHat 5.2下Linux Oracle 10g ASM安装教程(三)利用dbca创建oracle数据库

六.利用dbca创建oracle数据库 1.执行DBCA Oracle用户下命令行输入dbca,弹出图形界面 2.要点 A.注意需要选择asm存放 此处需要考虑到有的时候找不到dgroup1组,需要输入密码创建,总是提示spfile正在使用,此时可以采用关闭+ASM实例(shutdown immediate),在重试就行了. B.注意字符集选择: Simplified Chinese ZHS15GBK C.安装完成的最后操作步骤 $ su root # /oracle/oralnventory/

网赚行业该如何利用网赚论坛在互联网上更好的发展

中介交易 http://www.aliyun.com/zixun/aggregation/6858.html">SEO诊断 淘宝客 云主机 技术大厅 随着互联网的发展,网赚行业成为了草根站长们在日常生活中必做的项目,而网赚也在近几年当中风生水起,同时也引来了很多新手站长们的关注,当互联网在一天一天的扩大时,网赚这个行业在国内也已经开始发展成熟,同国外的网赚行业其实还是有一定的差异,而且国内的网赚没有太好的项目,但总体的趋势还是向前发展的,未来的互联网网赚也必定会成为一大热点. 近期,笔者一

windows批量创建用户

一.建立用户的命令行语法:   建立用户:net  user  用户名  密码  /add           (如:net user test 123 /add)  提升权限:net  localgroup 用户权限组 用户名 /add      (如:net localgroup administrator test /add)      删除用户:net  user  用户名 /del         (如:net user test /del)   二.批量创建的方法:     利用EX

phpmyadmin教程:使用phpmyadmin创建用户、数据库表的方法

phpmyadmin作为管理Mysql数据库的利器,越来越受到PHP网站开发建设者的欢迎,在此之前我介绍了两篇phpmyadmin入门教程:phpmyadmin3安装配置图解教程和允许phpmyadmin空密码登录的配置方法,今天继续phpmyadmin教程学习,介绍如何使用phpmyadmin创建添加新用户进行用户权限设置以及如何使用phpmyadmin创建数据库表的方法. 在使用phpmyadmin管理Mysql数据库之前,请确保Mysql服务已启动,即 1 net start mysql

网站用户引导设计:利用数字引导用户选择

文章描述:目前在用户引导设计里面采取数字引导设计的主要集中四类网站或产品:(1)购物网站,譬如团购站,他们使用数字来制造稀缺印象以及激励跟风:(2)系统优化软件,譬如360软件等,利用数字来造成用户心理恐慌和使用愉悦:(3)社交网站,利用数字提醒来满足用户的期待心理 SociaBeta之前发过一篇文章"4种巧用"数字"激励用户行为的方法",描述了一些利用数字来激励用户行为的案例设计.最近正好在进行一个项目,涉及到数字方面的引导,找了下相关文章,做了一些对比思考,记录

asp创建用户、目录和站点

本讲将使用到ADSI,即活动目录服务接口.可以到15Seconds.com找到一些相关的资料.   1.创建用户    下面这段代码在独立服务器white上创建用户user1,初始口令user1,用到了ADSI.    Dim Username,UserPass    Dim oDomain,oUser    Username = "user1"    UserPass = "user1"    Set oDomain = GetObject("WinNT