基于C++ Builder 5的Socket组件实现的聊天程序(二)
1.创建服务端程序
(1)创建主窗体
选择“File | New Application”菜单命令创建一个新工程,该工程包括一个空白窗体,将窗体的“Name”属性改为“MainForm”,选择“File | Save Project As…”菜单命令,把Unit1.cpp保存为 ChatServerMain.cpp ,Project1.bpr 保存为 ChatServer.bpr。
在窗体上添加2个TListBox 组件、2个TButton 按钮、3个TLabel 组件、1个TEdit 组件、1个TMainMenu 组件,这些组件都在C++ Builder 5的组件栏的Standard 选项下,如图
设置TMainMenu 组件的Items属性,在TMainMenu 组件中添加2个子菜单项TMenuItem 。两个子菜单的Name属性分别设为 MenuListen和MenuClose ,Caption属性分别设为“监听”和“断开”。如图:
然后添加一个TStatusBar 组件,该组件在C++ Builder 5 的组件栏的Win32选项下,如图:(图中倒数第4个组件),这个组件的功能主要用来输出一些提示信息
最后添加一个最重要的组件---TServerSokcet ,该组件在C++ Builder 5 的组件栏的Internet选项下,如图:
TServerSocket 的Active属性设为 true,这样启动服务端程序时能够自动开启TServerSocket,Port属性设为8999(这个端口最好为大于1024且没有被使用的端口)
窗体和组件的属性设置如下表:
组件 |
属性 |
属性值 |
Form1 |
FormStyle |
fsNormal |
Name |
MainForm |
|
Caption |
服务器 |
|
Label1 |
Caption |
IP地址 |
Label2 |
Caption |
用户名 |
Label3 |
Caption |
在线用户 |
Button1 |
Caption |
发送 |
Name |
BtnToPer |
|
Button2 |
Caption |
向所有人发送 |
Name |
BtnToAll |
|
Edit1 |
Name |
EdtSend |
ListBox1 |
Name |
ListUserAddr |