三...一...
~一

一~~
实~用~第一
ServerSecket组件为服务器端组件。它是通信的响应方.也就是说,它的动作是监听以及被动接受客户端的连接请求.
并对请求进行回复。
ServerSocket组件可以同时接受一个或多个ClientSocket组件的连接请求。并与每个Client.%cket组件建立单独的连接.进行单独的通信。因此,一个服务器端可以为多个客户端服
务。
(1)ServerSocket的属性
Port是通信的端13,必须设置。在本文实例中设置为95;ServerType服务器端读写信息类型,设置为stThreadBlocking表示异步读写信息。本文实例中采用这种方式。
ThreadCacheSize.客户端的最大连接数,就是服务器端最
多允许多少客户端同时连接。本文实例采用默认值10。
其他属性采用默认设置即可。
(2)ClientSocket的属性
Port,是通信的端口,必须与服务器端的设置相同。否则可能导致两个组件发送的目标端口和接收的端口不一致,导致无法建立有效的信息传送连接。
ClientType,客户端渎写信息类型,应该与服务器端的设置相同.为ctNonBIocking表示异步读写信息。
Host,客户端要连接的服务器的ip地址。必须设置,当然也可以在代码中动态设置。
其他属性采用默认设置即可。
4
应用实例
4.1设计思路
实例包括一个服务器端程序与一个客户端程序。客户端程序可以放到多个计算机上运行,同时与服务器端进行连接通信。
(1)服务器程序实现以下基本功能
1)在用户登录的时候记录用户登录所在主机的IP、主机
名称等。
2)显示当前在线用户数量。
3)可对当前在线用户执行注销、重启、关机等操作。(2)客户端程序实现一些基本功能1)显示当前程序的工作状况。
2)实现服务器端发送的注销、重启、关机的操作。
4.2程序说明
根据功能的实际需要.服务端程序一运行,窗体的StringGrid控件就显示已在线用户的基本信息,如图3所示。
代码如下:
procedureTfrmServer.displayconnectionsinfO
//在stringgrid中显示在线用户数据
i
50
~一.,
万
方数据一
~
~~一
一
~~~
~智
一#忌
一密~集
图3服务器端的窗体
var
t:tnteger;
begin
listboxl.ItemsClear;withServerSocketldobegin
if(Iength(arrayconnectionstatus)>=1)then
stringgridl.RowCount:=length(arrayconnectionstatus)+1
else
stringgridl.RowCount:=2;withstringgridldo
begin
fori:=0tohigh(arrayconnectionstatus)do
begin
witharravconnectionstatus【l】do
begin
cells[O,i+1】:=inttostr(tcsactiveconnections):cells[1,i+1】:=’7+tcsremotehost;
cells[2,i+11:=7’+tcsremoteaddress;cells[3,i+1】:=’’+inttostr(tcsremoteport);cells[4,i+1】:=7’+tcsIocaIhost:cells[5,i+1】:=7’+tcslocaJaddress:
cells[6,i+1】:=’’+inttostr(tcslocaIport):
listboxl.items.Add(tcsremotehost);end;
end;end;
end;
end;
在窗体上.“执行”按钮的Click事件负责向指定的在线
用户或全体在线用户发送注销、重启、关机操作指令。代码如
下:procedure
TfrmServer.broadcast:
∥向已在线用户《计算机)执行命令
var
i:integer;
begin
withServerSocketl.Socketdobegin
客户端与服务器端的Socket通信_计算机软件及应用_IT/计算机_专业资料。在cnki上下载的一些资料。网络与通信 NETWORK&COMMUNICATION 客户端与服务器端的 Socket 通信...
socket 编程实现客户端和服务器端通信_计算机硬件及网络_IT/计算机_专业资料。socket 编程实现客户端和服务器端通信#include "StdAfx.h" #include <WINSOCK2.H>...
Android 客户端与 PC 服务器实现 Socket 通信 通信(wifi) 本文介绍 Android 终端持续扫描 AP 信息并发送给服务器端的实现。 首先基于 TCP 协议 在 Android 终端...
Socket服务器端与客户端程序_IT/计算机_专业资料。本例主要编写了网络通信的客户端程序,服务器端程序。服务器端 #include <Winsock2.h> #include<stdio.h> #...
Socket服务器与客户端双向通信实例_工程科技_专业资料。Socket服务器与客户端双向通信实例Socket 服务器与客户端双向通信实例 using System; using System.Collections...
8.socket 的最重要的机制就是读写采用的是阻塞的方式,如果客户端作为命令发起 者,服务器端作为接收者的话,只有当客户端 client 用 out.writer()写到输出流里 ...
Socket 编程,一个服务器,多个客户端,互相通信 关于一个 Scoket 通信的基本代码和一个基本的通信 实现一个服务器和N个客户端的互相聊天 一、Server: using System...
(); 8.socket 的最重要的机制就是读写采用的是阻塞的方式,如果客户端作为命令发起者,服务器端作为接收者的话,只 有当客户端 client 用 out.writer()写到输出...
简单socket的客户端向服务器发送消息的通信程序_计算机软件及应用_IT/计算机_专业资料。分析客户端开发流程: 1). 创建一个套接字。 2). 使用 Socket 类的 ...
Android客户端通过socket与服务器通信分为下面5步:(1)通过IP地址和端口实例化Socket,请求连接服务器; view plaincopy to clipboardprint? socket = new Socket("10...
热门文档