首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

关于网络编程的一些有关问题,解决立刻结分,本人在线

2012-01-30 
关于网络编程的一些问题,解决立刻结分,本人在线1、客户端连接上服务器端的时候如何把客户端的一些信息传递

关于网络编程的一些问题,解决立刻结分,本人在线
1、客户端连接上服务器端的时候如何把客户端的一些信息传递到服务器端并保存在数组里?比如:ID(登陆权限编号)、name(登陆人姓名)
2、局域网里所有的电脑连接外网的时候在服务器上存储的IP都是一样的,在服务器端如何区分并把信息传递到该到达的pc上?

[解决办法]
'定义客户端信息结构体
Private Type ClientInfo
inUse As Boolean '使用状态
ID As String '(登陆权限编号)
Name As String '(登陆人姓名)
Ip As String '终端IP地址
Port As String '终端端口
End Type

Public Client(50) As ClientInfo

在Winsock侦听的ConnectionRequest连接请求中写入
sckAccept(iOpenSocket).Accept requestID

ClientInfo(iOpenSocket).inUse = True '置状态为真,在使用
ClientInfo(iOpenSocket).Ip = sckAccept(iOpenSocket).RemoteHostIP
ClientInfo(iOpenSocket).Port = sckAccept(iOpenSocket).RemotePort
写入数组有关信息,至于IP地址一样,怎么区分客户端端,根据端口也可以,好像每次端口都不一样。或则在DataArrival 事件中握手信息中客户端告诉服务器一下,再写入数据。

在 DataArrival 事件中接收 ID和Name等并写入数组:
ClientInfo(Index).ID = id
ClientInfo(Index).Name = name
........

热点排行