VB 替换文本文档内容以及查找

我用VB做了一个服务端和客服端,需要实现如下功能,望好心网友解答。1、客服端访问服务端时,如果连接成功,服务端TEXT1.TEXT显示客服端的IP地址。2、客服端下线时,... 我用VB 做了一个服务端和客服端,需要实现如下功能,望好心网友解答。
1、客服端访问服务端时,如果连接成功,服务端TEXT1.TEXT显示客服端的IP地址。
2、客服端下线时,发送指定字符串到服务端,服务端收到字符串后在TEXT1.TEXT内将客服端IP地址去除。
3、“1和2”实现的功能是:实时显示与服务端创建连接的主机IP地址。
4、我用的winsock控件,建立的UDP协议。
5、在根目录下有一个yonghu.txt文档,主程序里面有一个Timer_Time控件实时读取yonghu.txt文档的内容。
6、整个流程下来:首先,客服端访问服务端,yonghu.txt里面写入客服端IP地址;然后,下一个客服端访问服务端,不覆盖第一个客服端的IP,继续添加进去;客服端1下线后,服务端将已下线的客服端1的IP删除。

望好心网友解答,大恩不言谢。
展开
 我来答
棘棘芽
2013-11-13 · TA获得超过563个赞
知道小有建树答主
回答量:608
采纳率:100%
帮助的人:559万
展开全部

其实你的 yonghu.txt 就是多余的,你可以直接用一个 Collection 保存你的用户IP

 

如果真要保存成文件  只要每次变动保存一下就可以了!

如果你的txt用来保存用户登陆历史 是不是更有用户 .因为你保存的东西都是临时的[上述]

'用法:
  private users as new Collection
 ' 添加
  users.add "xx.xx.xx.xx"
 ' 删除
   users.remove "xx.xx.xx.xx"
  '查找:
   function FindUser(ip as string) as boolean
     dim i
     for Each i in users
       if i=ip then Finduser=true:exit for
     next
   end function
'保存数据
  sub SaveFile (coll as collection,path as string)
    open path for output as #1
    dim i
    for each i in coll
        print #1,i
    next
    close #1 
 end sub
追问
问题是我要显示在FORM1的TEXT1.TEXT上面啊
追答
function Tostring(coll as collection) as string
  dim s as string
  dim i  
  for each i in coll
    s=s & vbcrlf
  next
 toString=s
end function


上面的代码你就可以

text1.text=tostring(users)

jack06cn
2013-11-13 · 超过15用户采纳过TA的回答
知道答主
回答量:63
采纳率:0%
帮助的人:42.3万
展开全部
1) 用timer 定时判断winsock的连接状态,
Dim TempString as string
TempString = Empty
For i = 0 To Winsock1.UBound
Winsock1(i).State = 7 then TempString = TempString & winsock1(i).RemoteHostIP & vbCrlf
next i
Text1.text = TempSring
2) 客户端下线服务端即可知道连接状态,无需发送字符串,多余的操作。
3)1 就能实现了。
4) UDP是一种无连接的协议。类似于广播,服务端是不考虑网络连接状态或者接收与否,只管发送数据。
5 + 6) 读取文本文件先引用microsoft scripting runtime.
dim MyStream as TextStream
dim TempLine as String
dim LogFile as String
LogFile = app.path & "\yonghu.txt"
set MyStream = fso.OpenTextFile(LogFile, ForAppending)
'读语句
TempLine = mySteam.readline
'写语句
MyStream.writeline =Templine
'具体实现可以自己看着用了。

看了你的问题,你就是要即时的知道在线的用户端,没必要用txt这的东西吧,我写过聊天室,要的话可以发Email给你参考
追问
5+6问题,怎么直接向根目录\yonghu.txt里面添加内容,前提是不覆盖之前的内容,并且是在yonghu.txt新的一行添加。
追答
MyStream.WriteLine 就是新添一行
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式