CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VB >  网络编程

winsock初级问题,高手来帮帮

楼主wbagas()2006-03-02 00:54:34 在 VB / 网络编程 提问

我程序里面只用了一个winsock控件,又作接收,又作发送用.  
   
  但是不行,我只好用了两个,就可以了.请问能不能只用一个啊,又作发送,又作接收.  
   
  而且这个程序怪就怪在,我是想在本机运行嘛,自已发给自已显示是可以的。往外发一个不存在的地址也是可以的,但是往外发一个局域网内开着的电脑的IP就不行,就要报错。(在tip.text里设置发送对象的IP)  
   
  该程序有一个wsksend控件(winsock),一个tip控件(text,用作写发送对象的IP),一个command1按钮,一个tsend控件(text,用着写发送内容),一个tshow控件(text,用作显示接收到的东西)  
   
  不行的代码如下,大家帮我看看呢  
   
  Private   Sub   Command1_Click()  
  wsksend.RemoteHost   =   Tip.Text  
  wsksend.SendData   tsend.Text  
  End   Sub  
   
  Private   Sub   Form_Load()  
  wsksend.Protocol   =   sckUDPProtocol  
  wsksend.RemoteHost   =   Tip.Text  
  wsksend.RemotePort   =   "1019"  
  wsksend.LocalPort   =   "1019"  
  End   Sub  
   
   
  Private   Sub   wsksend_DataArrival(ByVal   bytesTotal   As   Long)  
  Dim   msg   As   String  
  wsksend.GetData   msg,   vbString  
  tshow.Text   =   msg  
  End   Sub  
  问题点数:20、回复次数:7Top

1 楼junki(『.NET技术争霸天下』)回复于 2006-03-02 08:57:19 得分 0

有个小程序,使用winsock控件来发送文件.  
  Email:wangkai1314_2000@163.comTop

2 楼wbagas()回复于 2006-03-02 09:00:57 得分 0

我是想让这程序又可当服务端,又可当客户端.结果发一只用一个winsock控件好像不行Top

3 楼wbagas()回复于 2006-03-02 09:19:19 得分 0

高手帮帮呀Top

4 楼baoaya(点头)(大风起兮云飞扬)回复于 2006-03-02 10:48:30 得分 0

发送和接收必须2个套接字才能建立连接,tcp   和   udp   都如此。Top

5 楼baoaya(点头)(大风起兮云飞扬)回复于 2006-03-02 10:54:09 得分 0

把错误的信息帖出来,  
  偶以前开发过一个使用udp协议,从一个局域网主机经过internet发送数据给另一个局域网内的主机,但是由于NAT设备不同,有些设备也会莫名的报错,具体错误忘记了,但是程序没错。你也有可能是路由器的原因吧。Top

6 楼linming20002000(jack)回复于 2006-03-02 14:22:04 得分 0

要用控件数组,可以实现消息的发送   我这里是tcp连接的  
  Private   Sub   ServerSocket_ConnectionRequest(index   As   Integer,   ByVal   requestID   As   Long)  
          Dim   CurNum   As   Integer  
          CurNum   =   getCurrentSockNum  
          If   index   =   0   Then  
                  If   getMaxSockNum   <=   CurNum   Then  
                          ServerSocket(32766).Close  
                          ServerSocket(32766).Accept   requestID  
                          ServerSocket(32766).SendData   "连接用户过多"  
                  Else  
                          For   i   =   1   To   getMaxSockNum  
                                  If   getSockOnUse(i)   =   False   Then  
                                          Load   ServerSocket(i)  
                                          ServerSocket(i).LocalPort   =   1300  
                                          ServerSocket(i).Accept   requestID  
                                          Call   setSockOnUse(i,   True)  
                                          Call   addSocket  
                                          Exit   For  
                                  End   If  
                          Next  
                  End   If  
          End   If        
  End   SubTop

7 楼Silo(炽天之翼)回复于 2006-03-02 19:26:11 得分 0

mark-Top

相关问题

  • 请教winsock(超初级)
  • 关于winsock的几个初级问题?
  • winsock编程的初级问题:)
  • 初级问题
  • 初级问题。
  • 初级问题!
  • 初级问题,
  • @@@@初级问题
  • 初级问题.....
  • 初级问题。。。。

关键词

  • 控件
  • winsock
  • ip
  • 局域网
  • wsksend
  • 发送
  • 接收
  • 程序
  • 只用
  • 不行

得分解答快速导航

  • 帖主:wbagas

相关链接

  • Visual Basic类图书
  • Visual Basic类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo