问题描述
怎么建立协议啊和文件的传输最好有原代码.希望大虾们指教希望结交这方面的爱好者`
解决方案
解决方案二:
正巧我们现在就在做这项目。UDP:局域网用广播形式传送信息。比如你的IP地址,你的主机名。当然你可以设置更多。然后我们是用TCP协议传送消息与文件。我现在做的头都闷了。具体起来觉得非常复杂。(ps:新手入门,高手莫喷)
解决方案三:
楼上的莫非是我老乡~~~~
解决方案四:
贴段代码,我用系统自动更新里的客户端下载文件:publicvoidReadFileFromServer(){try{Byte[]write=myEncoding.GetBytes(strFileName);stream.Write(write,0,write.Length);FileStreamfs=newFileStream(strFilePath+strFileName,FileMode.OpenOrCreate,FileAccess.Write);BinaryWriterbw=newBinaryWriter(fs);intbytes=0;intwritebytes=0;Byte[]read=newByte[1024];while((bytes=stream.Read(read,0,read.Length))!=0){Stringtemp=myEncoding.GetString(read,0,bytes);bw.Write(read,0,bytes);writebytes+=bytes;read=newByte[1024];}bw.Close();fs.Close();frmUpdate.addValue();}catch(Exceptionex){MessageBox.Show("更新系统出错:"+ex.Message,"更新提示",MessageBoxButtons.OK,MessageBoxIcon.Error);}finally{stream.Close();}}
解决方案五:
哈哈哈哈哈哈哈哈哈我也正好在做哎~想要在你的机器里开一个聊天室,或者什么界面你必须先...1、查看你的本地ID如192.168.0.562、在你新建一个.net网站在弹出对话框中的位置-文件系统(改成HTTP)输入你的IP如:http://192.168.0.56/文件/文件名(如:inex.aspx)/聊天室3、开始建立你的聊天室8只要你的机器不关机,别人在地址栏中输入上面的地址就OK了4、利用你所学习的控件就可以实现功能的页面了!详细请加我好友--------------------------------------------------------------------╔☆→———————∮—╗┊有没有那麽一首歌∮ ∮┊●/○┊оО○会让伱心里记著我?┊/█∨█╚☆→————————←☆╝∏ ∏
解决方案六:
//udp发送和接受数据usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;namespacejieshou{classProgram{staticvoidMain(string[]args){Jie();}staticvoidJie(){inti=0;Socketsocket=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);//初始化一个Scoket协议IPEndPointiep=newIPEndPoint(IPAddress.Any,3000);//初始化一个侦听局域网内部所有IP和指定端口EndPointep=(EndPoint)iep;socket.Bind(iep);//绑定这个实例while(true){byte[]buffer=newbyte[1024];//设置缓冲数据流socket.ReceiveFrom(buffer,refep);//接收数据,并确把数据设置到缓冲流里面Console.WriteLine(Encoding.Unicode.GetString(buffer).TrimEnd('u0000')+""+i.ToString());i++;}}}}usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;namespaceguangbo{classProgram{//privateThreadtrd;publicintnum=0;staticvoidMain(string[]args){//Threadtrd=newThread(newThreadStart(guangbo()));//trd.IsBackground=true;//trd.Start();for(inti=0;i<10000;i++){Console.WriteLine(i);//Thread.Sleep(10000);Guang();}Console.ReadKey();}staticvoidGuang(){Socketsock=newSocket(AddressFamily.InterNetwork,SocketType.Dgram,ProtocolType.Udp);//初始化一个Scoket实习,采用UDP传输IPAddressip=IPAddress.Parse("192.168.111.195");//ip可以用IPAddress.Any来代替全发送。IPEndPointiep=newIPEndPoint(ip,3000);//初始化一个发送广播和指定端口的网络端口实例sock.SetSocketOption(SocketOptionLevel.Socket,SocketOptionName.Broadcast,1);//设置该scoket实例的发送形式stringrequest="你好,hi";//初始化需要发送而的发送数据byte[]buffer=Encoding.Unicode.GetBytes(request);sock.SendTo(buffer,iep);sock.Close();//Console.WriteLine("nihao");}}}