导航:首页 > 编程语言 > vbnetsocket编程教学

vbnetsocket编程教学

发布时间:2023-01-23 20:53:16

1. 400分求vb.net,求一个socket的编程实例,详细见问题补充:

至少需要
ImportsSystem
ImportsSystem.Net
ImportsSystem.Net.Sockets
ImportsSystem.Threading
ImportsSystem.Text
还要了解异步与委托
简单点的话
subtcplisten()'监听过程
ConstLPortAsInteger=6850'本地监听端口
DimIPaddAsIPAddress=Dns.GetHostEntry(Dns.GetHostName()).AddressList(1)’本地IP
'addresslist里面包括IPV6和IPV4
DimIPEPAsNewIPEndPoint(IPadd,LPort)'结点
TCPL=NewTcpListener(IPEP)’建立监听实例
TCPL.Start()'开始监听
IfTCPL.Pending=TrueThen'如果有连接接入
DimTCPLXAsNewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'建立一个新的SOCKET
TCPLX=TCPL.Accept()’将第一个接入挂起的连接传给新建SOCKET,因为监听的SOCKET还要继续监听
dimRipepasnewipendpoint=TCPLX.RemoteEndPoint'此时获得远程的ip与端口号
listbox.add(ripep.ip)
dimbuffasbyte()
buff=TCPLX.Receive()'listen>accept>recieve这时候可以接受数据了
dimsasstring=Encoding.Default.GetString(buff)'转换成文本
msg"s"
TCPLX.send(buff)'这个是发送
endif
EndSub
长时间没写,可能有点小错误,你自己调试调试,大概步骤就是listen>accept>recieve,最好看看msdn,那个学起来才系统

2. 如何在VB.NET中用Socket类实现局域网中的通信问题

Private Sub Form_Load()
With Winsock1
.RemoteHost = "124.135.13.106" '对方的IP
.RemotePort = 1002 ' 对方的端口号
.Bind 1001 ' 本机的端口号
End With
End Sub
Private Sub Winsock1_DataArrival(ByVal bytesTotal As Long)
Dim strData As String
Winsock1.GetData strData '接收字节
List1.AddItem strData
End Sub
这个用UDP进行连接的。只不过是对单个机器进行的。

3. 急!VB.NET 用SOCKET实现数据交换案例

rivate Shared Function ConnectSocket(ByVal server As String, ByVal port As Integer) As Socket'创建连接
Dim s As Socket = Nothing
Dim hostEntry As IPHostEntry = Nothing

Dim address As IPAddress
address = System.Net.IPAddress.Parse(server)
Dim endPoint As New IPEndPoint(address, port)
Dim tempSocket As New Socket(endPoint.AddressFamily, SocketType.Stream, ProtocolType.Tcp)
tempSocket.Connect(endPoint)

If tempSocket.Connected Then
s = tempSocket
End If

Return s
End Function
调用:s = ConnectSocket(IP地址, 端口)'端口号如8000,8080等
s.close'关闭连接

4. VB.net Socket

麻烦给我发下vb2010下Socket类的使用方法,最好是有代码。就是怎样实现同一台电脑上两个程序的通讯,1窗体有按钮,文本框,2窗体有文本框,当单机1窗体的按钮时该窗体文本框的内容在2窗体的文本框中显示。。。十万火急啊。 邮箱[email protected]

5. 关于vb.net中Socket的问题

我不给你代码了,我才编了SOCKET的,告诉你原理吧(我的编程经验而已)
SOCKET传输文件和接受是有大小限制的,默认是81**来则也就是8K多,你可以改小,但改大我没试过,然后你必须把文件分成若干份,然后传过去,然后在接收端组合起来,同时接收端的接受大小要和发送大小统一。
至于你说的文件名,文件名不属于文件数据中的一部分,它不参与数据传输的,你只能在接收端重新改名字。
同时为什么要用上面的方法传呢,因为VB.NET中的SOCKET有很多问题,我就为此烦过,因为要丢包(理论上TCP不存在),或者粘包,或者断包,也就是你在接收端获取文件时数据是要出错的,比如你定长3000B,结果接收端可能先收到2000B,当接受端接受后,处理会出错的。
所以SOCKET的标准发送方法是建立定长的结构体(结构体必须定义为可序列化结构体),最好结构体里面至少包含有 1,文件名,2,本包序号,3,本包数据,比如每个包大小3040B,文件名占20,序号占20,数据占3000,然后发送出去,接收端每次固定接受3040B,如果接受到的包没有这么大(比如收到2000),那么继续接受(1040),直到达到3040后组合成一个包,在把包分解成结构体,相同的文件名为一个文件,再按照序号按次组合其中的数据,这就完成了传输。这样的方法还可以同时传送多个文件,因为结构体里面包含了文件名和序列号,不会错乱,如果是大文件,请不要接收完毕后(最后一个包的序号可以为-1,或者包里包含总长度,检查到序号为-1时表示完毕,或者达到总长度后表示完毕)再组合,因为这样会浪费电脑内存,最好的方法是一边接受数据,一边写入到文件中(收到第一个包时就建立文件,以后每个包的数据都往里面写)。
回答你的问题:
1、经过上面的传输后,文件是不变化的,MD5检查都是正常的,不用担心文件大小有变化(如果有变化,那就是代码没编对)
2,、文件名问题,我前面提到了,文件名是不参与传输的,它不属于数据中的一部分,比如同一个文件,不管你怎么改名字MD5是不变的。你只能通过把文件名想办法传给对方(比如我上面说的结构体方法),让对方写入文件时使用。
3,代码:
还是给你找找吧,等等
不行,我的都很大,很长,你还是在网上找吧,有很多例子,我也是网上学的。

6. 怎样用VB.NET进行网络编程

都可以,可以用winsock,也可以自己重写SOCKET套接字.建议你如果工期紧,可以先用WINSOCK.当然最好是自己学用SOCKET套接字.这对未来开发网络通讯是很有帮助的.因为用WINSOCK有个毛病就是杀毒软件总会阻止

7. 关于vb.net中socket编程实例:服务器端的一些问题

Socket类连接后 可以通过类中的 RemoteEndPoint 来获取远程IP和端口信息.
要注意的是.需要将它强制转化为 IPEndPoint类型 然后通过 IPEndPoint.Address以及IPEndPoint.Port来获取对应的IP及端口

例:
Dim REV_SCK As New Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp)
'这里创建一个UDP Socket连接的实例 TCP也是一样的

'省略SOCKET连接的代码 当SOCKET连接成功后 可以用下面的语句获取远程信息
Dim IP as string ,Port as integer
'定义IP和Port变量 用来保存地址及端口
IP = IPAddress.Parse(CType(REV_SCK.RemoteEndPoint, IPEndPoint).Address.ToString())
Port = IPAddress.Parse(CType(REV_SCK.RemoteEndPoint, IPEndPoint).Port)

8. 怎样利用VB.NET的SOCKET在服务器和客户端之间传递有固定格式的命令和数据

找专家问问

9. VB.net中创建的socket类怎么连接详情见问题补充,大家帮帮忙,我只有这么多分了

1.绑定的IP是服务器的IP地址,服务器是固定的,客户端连接的是一个已知的服务器端。

2.客户端的话,连接到服务器时,服务器accept后,就可以获得客户端的连接信息,包括IP地址和端口。

我是学C的,在C语言中,socket->bind->listen->accept->....,在accept函数中有选项,如下caddr结构体中就存有accept后客户端的IP地址 连接端口和传输方式等信息,clientsock[1]则为accept新的描述符,如你程序中soc2一样 。
clientsock[1] = accept(sfd,(struct sockaddr*)&caddr,&len);
VB中应该也有类时的函数,你网上好好找一下,或者看看相关书籍.

10. 如何实现vb.net的socket双向通讯,客户端既要发送消息也要接收服务器端返回的结果

接收到客户端数据,处理完毕........
//返回信息给客户端
string sendStr = "ok!Client send message successful!";
byte[] bs = Encoding.ASCII.GetBytes(sendStr);
client.Send(bs, bs.Length, 0);

//关闭套接字
client.Close();

.............客户端发送完数据等待服务端返回处理结果.............
/**/
///接受从服务器返回的信息
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;
bytes = client.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
label15.Text = DateTime.Now.ToString() + ":" + recvStr;//显示服务器返回信息
///一定记着用完socket后要关闭
//关闭套接字
client.Close();

阅读全文

与vbnetsocket编程教学相关的资料

热点内容
centos命令窗口 浏览:596
编译器有几个好用的 浏览:500
数据库和网站如何搭载服务器 浏览:154
网络流理论算法与应用 浏览:795
java和matlab 浏览:388
钉钉苹果怎么下app软件 浏览:832
php网站验证码不显示 浏览:859
铝膜构造柱要设置加密区吗 浏览:344
考驾照怎么找服务器 浏览:884
阿里云服务器如何更换地区 浏览:972
手机app调音器怎么调古筝 浏览:503
锐起无盘系统在服务器上需要设置什么吗 浏览:19
红旗出租车app怎么应聘 浏览:978
如何编写linux程序 浏览:870
吉利车解压 浏览:248
java输入流字符串 浏览:341
安卓软件没网怎么回事 浏览:785
dvd压缩碟怎么导出电脑 浏览:275
冒险岛什么服务器好玩 浏览:543
如何在服务器上做性能测试 浏览:794