虚拟主机行业最新资讯 虚拟主机评测对比 互联网最新动态 技术学院 站长资讯 在线教程 网站运营
搜索优化 服务器 网络编程 图形图象 站长之家 网页制作 操作系统
冲浪宝典 软件教学 视频通信 办公软件 邮件系统 网络安全 认证考试
您当前位置:站长资讯>-> 在线教程-> ASP
用WinSock设计Chat程序(转)
作者:网友供稿 点击:7
  西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!虚拟主机可在线rar解压,自动数据恢复设置虚拟目录等.虚拟主机免费赠送访问统计,企业邮局.Cn域名注册10元/年,空间150元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金!
文章页数:[1] 
摘要

  随着internet的蓬勃发展,网络界面的交流使我们能够即时收到各地所发生的各项信息。我们在使用各种browser浏览各网点时,只要server能提供chat(闲聊)的服务项目,我们就可以通过browser所提供的chat程序与网络上的其他使用者即时对谈及交流心得。本篇文章通过visual basic 5.0所提供的winsock control,设计一个chat应用程序。我们通过client及server之间的文件传输,可以了解chat程序的工作原理。

  winsock control简介

  winsock是windows系统提供的一种网络文件传输协议。以往我们使用winsock设计程序时,必须调用系统提供的api来完成;但是在visual basic中调用api,因涉及参数传递类型,用起来并不方便。visual basic 5.0提供winsock control简化我们的设计流程。它可以利用user datagram protocol(udp)或transmission control protocol(tcp),来设计网络的client-server程序。

  tcp是一种connection base的protocol,在文件传输时会先行建立link,通过link 可确保文件传输的正确性;udp则是一种connectionless的protocol,它在传输文件时不会确保传输端的文件能够正确无误的传送到接收端,所以当我们使用udp

  protocol时,我们通常要自己作接收确认的工作。

  udp protocol看起来好像比较没效率,其实不然!udp protocol有一个好处:当文件很小,或我们要做网络boardcast(广播)时,会比较有效率。

  所以了!当我们利用winsock设计程序时,首先要依自己的需要,决定使用那一种protocol。本文将分别教您使用tcp及udp protocol来设计chat程序。
step 1:找出domain name及ip address

  在“我的电脑”中选择“控制面板”。double click“网络”选项,选择“标识”,您将会发觉您的计算机名称、工作组名等信息。将它记录起来,我们稍后会用到。

  step 2:设计tcp server程序

  在file选项中选new project建立一个新的工程,在屏幕上会看到许多选项,如activex document.exe、activex document.dll、activex.exe、activexcontrol等,选standard.exe。

  接着在project下选择property属性选项,在general选项下将projectname改为tcp-server,并将form名称及caption更改为server。在屏幕的form上加入一个winsock control,取名为tcps;加入两个textbox control(outtext、intext),并在两个textbox前加入两个label,分别将caption改为outtext、intext。

  〈textbox〉

  name

  ------------------------------------------------

  outtext(输出文件)

  intext(输入文件)

  〈label〉

  caption

  ----------------------------------------------------

  outtext(输出文件)

  intext(输入文件)

  在form_load()中加入以下程序代码,这个动作是设置好我们local的传输端口,并到接收的状态:

  tcps.protocol=0-scktcp protocol

  tcps.localport = 1002

  tcps.listen

  双击tcps,在tcps_connectionrequest(byval requestid as long)中加入以下程序代码,这表示winsock接受了连接请求:

  tcps.accept requestid

  双击outtext到outtext_change(),加入以下程序代码,当outtext内容改变后,文件就会自动送出:

  tcps.senddata outtext.text

  在tcps_dataarrival(byval bytestotal as long)中加入以下程序代码,这是用来把所接收的文件显示在intext这个textbox中。

  dim s as string

  tcps.getdata s

  intext.text = s

  这样我们就完成了server端的设计。

  step 3:设计tcp client程序

  在file选项中选择new project建立一个新的工程,在屏幕上看到许多选项,如activex document.exe、activex document.dll、activex.exe、activex control等。选standard.exe。接着在project下,选择property属性选项,在general选项下,将project name改为tcp-client,并将form名称及caption更改为client。

  

  在屏幕的form上加入一个winsock control,取名为tcpc,将protocol property设置成0-scktcp protocol,加入两个textbox control(outtext、intext),并在两个textbox前加入两个label,分别将其caption改为outtext、intext。接着放入一个button(button1)并将caption改为connect。
(textbox)

  name

  -----------------------------------------------------

  outtext(输出文件)

  intext(输入文件)

  (label)

  caption

  --------------------------------------------------------

  outtext(输出文件)

  intext(输入文件)

  〈button〉

  name caption

  --------------------------------------------------------

  button1(执行建立session命令) connect

  在form_load()中加入以下程序代码,这个动作是设置好我们remote所要连接的传输端口及其网络名称。我们要连接的计算机网络名称为david:

  tcpc.remotehost ="david"

  tcpc.remoteport=1002

  双击outtext到outtext_change()加入以下程序代码,当outtext内容改变后,文件会自动送出:

  tcpc.senddata outtext.text

  在tcpc_dataarrival(byval bytestotal as long)中加入以下程序代码,这是用来把所接收的文件显示在intext这个textbox中。

  dim s as string

  tcpc.getdata s

  intext.text = s

  这样就完成了client端的设计。

  step 4:测试tcp chat程序

  分别执行server及client程序,这时在client的屏幕上显示in及out textbox及一个connect button;在server屏幕上显示in及out textbox。

  我们按client程序connect button建立连接,连接建立成功后,我们可尝试在client的outbox中输入一些字符串:hello nice to meet

  you!我们将在server端的inbox看到这些字串。

  接着我们在server的outbox也输入一些字符串:nice to meet you, too!

  我们将在client 端的inbox看到这些字符串。结果证明我们成功了!



文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!
文章页数:[1] 
相关主题
  • 用winsock制作一套聊天室和对话系统_visualbasic教程
  • 用winsock设计chat程序_visualbasic教程
  • 用winsock控件实现文件的下载_visualbasic教程
  • 用winsock实现点对点通信_visualbasic教程
  • 用winsock设计chat程序(转)_asp技巧
  • Google

    热门文章
    ·如何使XP的目录属性出现"安全"选项-ASP教程,系统相关
    ·创建有个性的对话框之MFC篇(二)-ASP教程,系统相关
    ·用InstallShield打包ASP程序-ASP教程,ASP应用
    ·windows server 2003 中 SQL Server 2000 分布式事务 错误解决方法-ASP教程,系统相关
    ·创建有个性的对话框之MFC篇(一)-ASP教程,系统相关
    ·DevExpress打印相关代码-ASP教程,打印相关
    ·File文件控件,选中文件(图片,flash,视频)即立即预览显示-ASP教程,组件开发
    ·用Windows的文件映射机制,实现大批量数据的快速存储-ASP教程,系统相关
    ·ADO如何取得数据库中表的字段信息之一
    ·使用DEVEXPRESS部件打印时标题的处理-ASP教程,打印相关

    最新文章
    · SQL注入天书 - ASP注入漏洞全接触
    ·用.net 处理xmlHttp发送异步请求
    ·asp.net创建文件夹的IO类的问题
    ·如何实现ASP.NET网站个性化
    ·关于ASP.NET调用JavaScript的实现
    ·ASP利用Google实现在线翻译功能
    ·Asp无组件生成缩略图
    ·由HTTP 500 Internal server error想到的...
    ·实例讲解asp抓取网上房产信息
    ·改mdb为asp所带来的灾难

    相关主题
  • 用winsock制作一套聊天室和对话系统_visualbasic教程
  • 用winsock设计chat程序_visualbasic教程
  • 用winsock控件实现文件的下载_visualbasic教程
  • 用winsock实现点对点通信_visualbasic教程
  • 用winsock设计chat程序(转)_asp技巧



  • 友情链接
    CNNIC 西部数码
    万网 自助建站
    虚拟主机 asp空间
    域名注册 域名
    域名申请 主页空间
    论坛空间 网站空间
    国际域名 虚拟空间
    空间租用 DDOS防火墙
    成都主机托管 四川主机托管
    主机租用 服务器租用
    网站目录 一班在线
    虚拟主机 网址大全
    软件下载
    自助链接
    虚拟主机资讯 特价虚拟主机


    版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!

    特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
      打印  刷新  关闭


    联系我们  |  广告服务  |  免责声明  |  友情连接
    Copyright ?2005 - 2006 All Rights Reserved
    蜀ICP备05000045号