祝大家新年发财---问个问题--socket发送结构,接受以后读取的问题

caoqinghua 2005-12-31 11:13:31

定义变量

Private th As Thread
Private tcpl As TcpListener
Private listenerRun As Boolean = True

定义结构

Public Structure Content
Public username As String
Public passworld As String
Public image_1 As System.Drawing.Image
End Structure

发送函数代码:

Private Sub Send()
Try
Dim msg_1 As Content
msg_1.username = "username "
msg_1.passworld = "passworld "
msg_1.image_1 = Me.PictureBox1.Image
Dim tcpc As New TcpClient(textBox1.Text, 9999)
Dim tcpStream As NetworkStream = tcpc.GetStream()
Dim reqStreamW As New StreamWriter(tcpStream)
reqStreamW.Write(msg_1.username)
reqStreamW.Write(msg_1.passworld)
reqStreamW.Write(msg_1.image_1)
reqStreamW.Flush()
tcpStream.Close()
tcpc.Close()
Catch ex As Exception
ToolStripStatusLabel1.Text = "目标计算机拒绝连接请求!"
MessageBox.Show(ex.Message)
End Try
End Sub

接收函数代码:

Private Sub Listen()
Try
tcpl = New System.Net.Sockets.TcpListener(5656)
tcpl.Start()
ToolStripStatusLabel1.Text = "正在监听..."
While listenerRun
Dim s As Socket = tcpl.AcceptSocket()
Dim stream(1024) As Byte
Dim i As Integer = s.Receive(stream)
MessageBox.Show(i.ToString)
Dim ddd As New Content
ddd.username = System.Text.Encoding.UTF8.GetString(stream, 0, 10)
ddd.passworld = System.Text.Encoding.UTF8.GetString(stream, 10, 10)
MessageBox.Show(ddd.username + ddd.passworld)
'怎么把传过来的结构中的图片读出来?
'
End While
Catch ex As System.Security.SecurityException
MessageBox.Show("防火墙安全错误", "错误", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Catch ex As Exception
ToolStripStatusLabel1.Text = "已停止监听" + ex.Message.ToString
MessageBox.Show(ex.Message)
End Try
End Sub

问题:
怎么把传过来的结构中的图片读出来?


====================================附件======================================
紧急公告:
  一股来自西伯利亚的强冷空气即将影响我国,本周内我大部分地区将出现低温降水天气,请广大朋友做好御寒保暖工作,有老婆的抱老婆,有老公的抱老公。暂时没有老婆(或老公)的请抱暖水壶,请勿乱抱动物,以防患禽流感。
  祝圆蛋快乐!

...全文
209 8 打赏 收藏 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
yxfchinacq 2006-01-06
  • 打赏
  • 举报
回复
.NET SDK里面有SOCKET的介绍
HAVENT 2006-01-06
  • 打赏
  • 举报
回复
Remoting没Socket基础,标记一下学习~~~顺便问问哪里有实用、清晰的.NET Socket教程或源码参考,谢谢~~~
yxfchinacq 2006-01-06
  • 打赏
  • 举报
回复
你可以用下面的方法试试一下:
把你的结构改成CLASS,并且让它可以序列化
<Serializable()>CLASS CONTENT
PUBLIC USERNAME AS STRING
PUBLIC PASSWORD AS STRING
PUBLIC IMG AS INMAGE
END CLASS
然后得到这个对象的二进制流,把这个流发送到对方
SUB SEND()
DIM T AS NEW CONTENT
Dim S As New IO.MemoryStream
Dim BF As New BinaryFormatter
BF.Serialize(S, T)
S.Position = 0
'发送二进制流S
END SUB
对方接收后把这个流转变为对象
SUB RECIEVE()
DIM T AS NEW CONTENT
T = CType(BF.Deserialize(S), taskInfo) 'S为你在网络上接受的流
T.IMG就应该是你需要的图象了
END SUB
caoqinghua 2006-01-05
  • 打赏
  • 举报
回复
顶顶
caoqinghua 2005-12-31
  • 打赏
  • 举报
回复
vb版的高手,出来吧。分数不够再加
caoqinghua 2005-12-31
  • 打赏
  • 举报
回复
3楼的朋友,你这个方法可以发送和接收,我的意思是把结构中的图片取出来,并不是单单发送一个文件。谢谢你的回答
LGame 2005-12-31
  • 打赏
  • 举报
回复
帮你顶
Sunny21 2005-12-31
  • 打赏
  • 举报
回复
dim fs as filestream
dim bw as binarywriter
fs=new filestrema("c:\temp.bmp",filemode.create)
bw=new binarywriter(fs)
bw.write(stream,20,i-20)
bw.close
fs.close
picturebox1.image=new bitmap("c:\temp.bmp")
内容概要:本文针对传统彩色数字图像加密算法存在的密钥空间有限、随机性不足及抗干扰能力弱等问题,提出一种结合混沌系统与DNA编码的复合型彩色图像加密解密方案。通过混沌系统生成伪随机序列,对图像RGB三通道像素进行置乱与混淆,并利用DNA编码规则实现信息的高维扩散与并行处理,从而提升加密强度与安全性。文章重点对该方案的抗噪声与抗裁剪性能进行了系统性分析,实验结果表明该算法具备大密钥空间、强加密随机性,且在面对高斯噪声、椒盐噪声干扰及不同程度裁剪攻击时仍能较好恢复图像内容,展现出优良的鲁棒性与实用性。; 适合人群:具备一定图像处理、密码学基础知识的科研人员及研究生,或从事信息安全、多媒体通信领域的技术人员。; 使用场景及目标:①应用于网络环境下的彩色图像安全传输与私密存储,防范信息窃取与篡改;②为高鲁棒性图像加密技术的研究提供理论支持与实验验证,推动复合加密算法在实际工程中的落地应用。; 阅读建议:建议读者结合文中提出的加密流程与实验设计,自行复现算法并对不同类型的图像数据进行测试,重点关注混沌参数敏感性、DNA编码规则选择及不同干扰场景下的解密效果,以深入理解算法的抗干扰机制与优化空间。

16,718

社区成员

发帖
与我相关
我的任务
社区描述
VB技术相关讨论,主要为经典vb,即VB6.0
社区管理员
  • VB.NET
  • 水哥阿乐
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧