关于聊天软件的代码
时间:2011-08-10
来源:互联网
请问哪位高手有研究过多人聊天的代码,我有些很不懂,下面这些代码从网上找来看看的
Private client As TcpClient
Private readBuffer(READ_BUFFER_SIZE) As Byte
Private strName As String
' 类对象属性Name
Public Property Name() As String
Get
Return strName
End Get
Set(ByVal Value As String)
strName = Value
End Set
End Property
Public Event LineReceived(ByVal sender As UserConnection, ByVal Data As String)
'发送信息
Public Sub SendData(ByVal Data As String)
' 锁定当前时间没有其它的在读取信息流
SyncLock client.GetStream
Dim writer As New IO.StreamWriter(client.GetStream)
writer.Write(Data & Chr(13) & Chr(10))
' Flush信息.
writer.Flush()
End SyncLock
End Sub
虽然有些解析,但不能完全读弄意思。望解答啊,比如这里定义了 Public Event LineReceived后还定义Public Sub SendData,这样又不会出错,怎么回事?
Private client As TcpClient
Private readBuffer(READ_BUFFER_SIZE) As Byte
Private strName As String
' 类对象属性Name
Public Property Name() As String
Get
Return strName
End Get
Set(ByVal Value As String)
strName = Value
End Set
End Property
Public Event LineReceived(ByVal sender As UserConnection, ByVal Data As String)
'发送信息
Public Sub SendData(ByVal Data As String)
' 锁定当前时间没有其它的在读取信息流
SyncLock client.GetStream
Dim writer As New IO.StreamWriter(client.GetStream)
writer.Write(Data & Chr(13) & Chr(10))
' Flush信息.
writer.Flush()
End SyncLock
End Sub
虽然有些解析,但不能完全读弄意思。望解答啊,比如这里定义了 Public Event LineReceived后还定义Public Sub SendData,这样又不会出错,怎么回事?
作者: deng_zhihao692817 发布时间: 2011-08-10
MSDN
Event 语句
定义用户自定义的事件。
语法
[Public] Event procedurename [(arglist)]
Event 语句包含下面部分:
部分 描述
Public 可选的。指定该 Event 在整个工程中都是可见的。缺省情况下 Events 类型是 Public。应注意,事件只能在所声明的模块中产生。
procedurename 必需的。事件的名称;遵循标准的变量命名约定。
arglist 参数的语法及语法的各个部分如下:
[ByVal | ByRef] varname[( )] [As type]
部分 描述
ByVal 可选的。表示该参数是按值传递的。
ByRef 可选的。表示该参数是按地址传递的。ByRef 是 Visual Basic 的缺省设置。
varname 必需的。代表要传递给过程的参数变量的名称;遵循标准的变量命名约定。
type 可选的。指传递给过程的参数的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object、Variant、用户定义类型或对象类型。
说明
事件被声明之后,就可以使用 RaiseEvent 语句来产生该事件。如果在标准模块中出现 Event 声明,就会产生语法错误。不能声明带返回值的事件。在下面的代码段中,给出了声明事件和产生事件的典型事件:
'在类模块的模块级中声明一个事件
Event LogonCompleted (UserName as String)
Sub
RaiseEvent LogonCompleted("AntoineJan")
End Sub
注意 可以象声明过程的参数一样来声明事件的参数,但有以下不同:事件不能有带命名参数、Optional 参数、或者 ParamArray 参数。事件没有返回值。
Event 语句
定义用户自定义的事件。
语法
[Public] Event procedurename [(arglist)]
Event 语句包含下面部分:
部分 描述
Public 可选的。指定该 Event 在整个工程中都是可见的。缺省情况下 Events 类型是 Public。应注意,事件只能在所声明的模块中产生。
procedurename 必需的。事件的名称;遵循标准的变量命名约定。
arglist 参数的语法及语法的各个部分如下:
[ByVal | ByRef] varname[( )] [As type]
部分 描述
ByVal 可选的。表示该参数是按值传递的。
ByRef 可选的。表示该参数是按地址传递的。ByRef 是 Visual Basic 的缺省设置。
varname 必需的。代表要传递给过程的参数变量的名称;遵循标准的变量命名约定。
type 可选的。指传递给过程的参数的数据类型;可以是 Byte、布尔、Integer、Long、Currency、Single、Double、Decimal(目前尚不支持)、Date、String(只支持变长)、Object、Variant、用户定义类型或对象类型。
说明
事件被声明之后,就可以使用 RaiseEvent 语句来产生该事件。如果在标准模块中出现 Event 声明,就会产生语法错误。不能声明带返回值的事件。在下面的代码段中,给出了声明事件和产生事件的典型事件:
'在类模块的模块级中声明一个事件
Event LogonCompleted (UserName as String)
Sub
RaiseEvent LogonCompleted("AntoineJan")
End Sub
注意 可以象声明过程的参数一样来声明事件的参数,但有以下不同:事件不能有带命名参数、Optional 参数、或者 ParamArray 参数。事件没有返回值。
作者: chinaboyzyq 发布时间: 2011-08-12
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28