Foxtable(狐表)用户栏目专家坐堂 → [求助]请教socket问题


  共有3658人关注过本帖树形打印复制链接

主题:[求助]请教socket问题

帅哥哟,离线,有人找我吗?
有点甜
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 8:43:00 [显示全部帖子]


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 9:43:00 [显示全部帖子]

以下是引用pcxjxjhkw在2017/8/29 9:23:00的发言:
如何为类MyServer定义属性?

 

Public Class MyServer
    Public server As String
    Public port As Integer
 
-------------------------------------------
 
Dim server As New MyServer
server.server = "123456"
server.port = "10086"

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 10:21:00 [显示全部帖子]

认认真真看懂2楼例子和代码。

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 16:22:00 [显示全部帖子]

1、socket对象.RemoteEndPoint.Address.ToString

 

https://msdn.microsoft.com/zh-cn/library/system.net.sockets.socket.remoteendpoint(VS.80).aspx

 

2、可以socket连接后给其分配一个编号,以后根据编号发送信息;这个编号可以是 用户名、ip、或者任意不重复的编号


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/29 16:42:00 [显示全部帖子]

以下是引用pcxjxjhkw在2017/8/29 16:33:00的发言:

老师,这个没明白.。有多个客户端连接服务器,也就有同样多个socket连接,根据客户IP如何反回去找对应的socket?

 

你用一个字典变量记录所有的socket

 

Public user_tb As New System.Collections.Hashtable()   '客户端列表

 

user_tb.Add("编号", newClient)    '将客户端标识添加进hash表


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/30 14:34:00 [显示全部帖子]

以下是引用pcxjxjhkw在2017/8/30 13:07:00的发言:
再请教一问题:如何判断服务器是否已启动?

 

Dim tcp = New System.Net.Sockets.TcpClient()
Try
    tcp.Connect("127.0.0.1", 80)
Catch ex As Exception
    tcp = Nothing
End Try

 

If tcp Is Nothing Then
    MsgBox("无法连接服务器,请重试")
Else
    msgbox("成功")
End If


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/31 10:43:00 [显示全部帖子]

Private _Clients As new System.Collections.SortedList

[此贴子已经被作者于2017/8/31 11:09:12编辑过]

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/31 11:09:00 [显示全部帖子]

改成

 

Private _Clients As new System.Collections.SortedList


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  9楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/31 11:58:00 [显示全部帖子]

请看懂代码吧。比如

 

MyServer = New Sub New(10086, 100, 100, 100)  

MyServer.StartServer


 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2017/8/31 14:20:00 [显示全部帖子]

原来的代码那里,加上msgbox弹出值看看。看在哪里出问题。

 

如果有问题,具体事例上传上来测试。


 回到顶部
总数 13 1 2 下一页