用VB实现客户——服务器(TCP/IP)编程实例_u014112224的博客-程序员宅基地

 现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。下面我们用VB来实现TCP/IP网络编程。
  TCP/IP协议是Internet最重要的协议。VB提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样两个程序就可以进行通信了。
  1.创建服务器,首先创建一个服务端口号。并开始侦听是否有客户请求连接。
  建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件)
  添加两文本框Text1,Text2,和一按钮Command1
  Private Sub Form_Load()
  SockServer.LocalPort = 2000 ′服务器端口号,最好大于1000
  SockServer.Listen ′开始侦听
  End Sub
  Private Sub Form_Unload(Cancel As Integer)
  SockServer.Close
  End Sub
  Private Sub SockServer_Close()
  SockServer.Close
  End Sub
  Private Sub SockServer_ConnectionRequest(ByVal requestID As Long)
  SockServer.Close
  SockServer.Accept requestID ′表示客户请求连接的ID号
  End Sub
  ′当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。
  Private Sub SockServer_Data
Arrival(ByVal bytesTotal As Long)
  Dim s As String
  SockServer.GetData s
  Text1.Text = s
  End Sub
  当我需要向客户发送数据时,只需调用SendData方法。
  Private Sub Command1_Click()
  SockServer .SendData Text2.Text
  End Sub
  2.创建客户。要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。
  建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件),取名为:SockC1。添加两文本框Text1,Text2,和一按钮Command1
  Private Sub Form_Load()
  SockCl.RemoteHost =′127.0.0.1″
  ′表示服务器主机名
  SockCl.RemotePort = 2000
  ′表示服务器端口名
  SockCl.Connect
′连接到服务器
  End Sub
  Private Sub Form_Unload(Cancel As Integer)
  SockCl.Close
  End Sub
  Private Sub SockCl_Close()
  SockCl.Close
  End Sub
  Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)
  Dim s As String
  SockCl.GetData s ′接收数据到文本框中
  Text1.Text = s
  End Sub
  Private Sub Command1_Click()
  SockCl.SendData Text2.Text ′向服务器发送数据
  End Sub
  3.进行通信。把这两个窗体分别编译成两个EXE文件,服务器Server.exe和客户Client.exe程序,并把它们分别安装在服务器端和客户端,这样就可以实现两者通信了。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/u014112224/article/details/21331855

智能推荐

解决Chrome打开外部链接时添加后缀(%20--with-chrome- plus-plus%20--disable-features=RendererCodelntegrity,Flash)的问题_dblinux的博客-程序员宅基地_谷歌浏览器%20--disable-http2

1. 为什么会有这个问题?chrome浏览器的根目录文件夹中有一个文件是version.dll,这是一个第三方文件,作用是禁用chrome停止开发者模式提示的第三方插件,正是此文件的存在导致了打开外链失败。2. 解决此问题正如上面所说,我们只需要删除version.dll即可。找到version.dll右键单击chrome,打开文件所在位置;找到version.dll删除左键选中,按一下delete即可。重启Chrome,完美解决。...

Linx-Atom-PHP代码规范和插件推荐_EwanRenton的博客-程序员宅基地

layout: posttitle: "Linx-Atom-PHP代码规范和插件推荐"date: 2016-05-17 21:11:42 +0800comments: truecategories: [linux]今天在使用Atom的过程中,突然好怀念以前PHPStrom的代码的格式化。就开始找Atom的插件。Atom-beautify首先是代码格式化插件Atom-Beau...

flink runtime 三个组件 dispatcher,jobmanager,jobmaster_哥伦布112的博客-程序员宅基地_jobmaster 有几个

模式在yarn-session模式下,共享一个dispatcherorg.apache.flink.runtime.dispatcher.Dispatcher 这个类,这里接收到客户端传上来的作业图代码分析//这里就是分发器接收到作业图 @Override public CompletableFuture<Acknowledge> submitJob(JobGraph jobGraph, Time timeout) { log.info("Receiv...

解决H5、vue等项目在微信内置浏览器,微信端、ie某些浏览器打开白屏问题_zxo_apple的博客-程序员宅基地

问题描述:微信公众号通过链接打开vue页面遇到白屏问题,通过排查,发现是某些微信浏览器版本过低导致,而此时项目中使用到了es6,es7等语法,导致浏览器无法解析解决方法:// 1.安装bebel进行es6转es5npm install babel-preset-es2015同时在根目录下添加.babelrc文件,配置如下{ "presets": [["@babel/preset-env", { "modules": false }]], "plugins": []}此时可能会报错

微信小程序 功能函数 将对象的键添加到数组 (函数深入)_weixin_30732487的博客-程序员宅基地

// 将对象的键添加到数组var arr = Object.keys(site);//英文https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys中文https://developer.mozilla.org/zh-CN/https:/...

随便推点

句柄的意思_sinat_32823207的博客-程序员宅基地

句柄(handle)在语义上可以理解为把手。用这个把手,可以得到资源。拉着把手就等于拿着资源,针对把手操作就等于顺藤摸瓜操作了资源。例如:// 建立资源$ch = curl_init();// 根据句柄操作资源curl_setopt($ch, CURLOPT_URL, $url);curl_setopt($ch, CURLOPT_HEADER, TRUE);curl_setopt($ch, CURLOPT_NOBODY, TRUE); // remove bodycurl_setopt($

【九】强化学习之TD3算法四轴飞行器仿真---PaddlePaddlle【PARL】框架_汀、的博客-程序员宅基地

课程笔记【强化学习7日打卡营-7】最后一课码源链接:https://github.com/PaddlePaddle/RLSchool

adb的那些事_zdj_develop的博客-程序员宅基地_adb screencap宽高

前言:写篇文章,来简单讲下adb。正文:一、关于adb。adb,即Android Debug Bridge,也就是Android调试桥。adb是一个C/S架构的命令行工具。它主要由3部分组成:运行在PC端的Client:可以通过它对Android应用进行安装、卸载以及调试。比如说AndroidStudio中带的adb.exe。 运行在PC端的Service:其管理客户端到Android设备上adb后台进程的连接。adb服务启动后,Windows可以在任务管理器中找到adb.ex

Adobe CEP 初探_SouthAngel的博客-程序员宅基地_adobe cep

Adobe CEP 初探CEP (Common Extensibility Platform)是adobe家的扩展插件平台,使用的脚本语言是javascript,更重要是的这个东西的用法是abobe家族通用的。简单来说,就是通过一个浏览器引擎来做UI,然后调用内置绑定的javascript来完成一些功能。这个东西其实早就有了,只不过在以前的版本里是通过flash来开发的,从2013(CEP4)也就是各个带CC版本的软件之后转为用html了。正在上传…重新上传取消编写第一个CEP插件He.

Qt error Link 2019无法解析外部符号_中国拖拉机手的博客-程序员宅基地

解决方法1)重新qmake,重新构建, 2)不行的话,删除Debug文件夹,重新构建。 3)参考博文http://blog.csdn.net/ygzhong000/article/details/44843371和http://blog.csdn.net/hyqsong/article/details/47072715这两篇基本可以。

HTML简单入门_鑫仔的记忆的博客-程序员宅基地_html 教程 鑫

HTML简单入门文章目录HTML简单入门一、HTML概念二、HTML简介2.1什么是html2.2html能做什么2.3html书写规范三、HTML基本标签3.1结构标签3.2排版标签3.3块标签3.4基本文字标签3.5文本格式化标签3.6标题标签3.7列表标签无序列表:使用一组无序的符号定义,``有序列表:使用一组有序的符号定义,``列表嵌套:无序列表与有序列表相互嵌套使用3.8图形标签3.9链接标签3.10表格标签四、HEML表单标签4.1form元素常用属性4.2input元素4.3select元素

推荐文章

热门文章

相关标签