问题描述
发送端主要代码:#region用Socket发送图片privatevoidtime(objecto){IPAddresssIP=IPAddress.Parse("127.0.0.1");IPEndPointssIP=newIPEndPoint(sIP,8001);Sockets=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);try{s.Connect(sIP,8001);}catch(Exceptione){Console.WriteLine("Error"+e.Message);}try{BitmapCurrentBitmap=GetDesktopBitmap();MemoryStreamMS=newMemoryStream();CurrentBitmap.Save(MS,ImageFormat.Jpeg);byte[]b=MS.ToArray();s.Send(b,b.Length,0);}catch(Exceptione){Console.WriteLine("Error"+e.Message);}}#endregion运行结果:接收端主要代码:IPAddressHostIP=IPAddress.Parse("127.0.0.1");IPEndPointpoint;Socketsocket;boolflag=true;SocketacceptedSocket;delegatevoidSetTextCallback(Bitmapmybit);privatevoidSetText(Bitmapmybit){pictureBox1.Image=mybit;}privatevoidForm1_Load(objectsender,EventArgse){HostIP=IPAddress.Parse("127.0.0.1");try{point=newIPEndPoint(HostIP,8001);socket=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);socket.Bind(point);socket.Listen(50);acceptedSocket=socket.Accept();Threadthread=newThread(newThreadStart(Proccess));thread.Start();}catch(Exceptioney){MessageBox.Show(ey.Message);}}privatevoidProccess(){if(acceptedSocket.Connected){while(flag){byte[]b=newbyte[199999];//读取字节acceptedSocket.Receive(b);//放到流中MemoryStreamms=newMemoryStream(b);//从流中读取图片Imageimg=Image.FromStream(ms);//设置pictureBoxpictureBox1.Image=img;请高手们赐教,小弟刚学C#,非常感谢!!!
解决方案
解决方案二:
你服务器端打开了没有?
解决方案三:
顶
解决方案四:
服务器端已打开,端口8001也已经打开
解决方案五:
服务端没有监听,或者你的防火墙封闭了
解决方案六:
防火墙的问题吧,连接的时候是马上出来还是等一会儿才出来?
解决方案七:
顶
解决方案八:
防火墙我关闭了,还是这样!!!
解决方案九:
我刚刚逐句运行,发现接收端Load事件根本没有运行!!!
解决方案十:
acceptedSocket=socket.Accept();Threadthread=newThread(newThreadStart(Proccess));thread.Start();你接收端写的明显有问题,
解决方案十一:
序列化成xml再发
解决方案十二:
目标地址不对
解决方案十三:
大哥`````````你newThread调用函数,这个Thread知道此Socket?弄个类把socket.Accept接收到的Socket丢进去,然后去处理吧.个人感觉..........
解决方案十四:
另外你这报的error不是已经出来了么?套接字没有提供地址.
解决方案十五:
服务端监听有问题