webform(服务器)里如何给winform(客服端)传值?

yangbiqing362937154 2011-03-21 09:40:14
我现在想将webForm服务器中的一个流文件传到winForm客服端,webForm和winForm不在一台机器上,但在一个局域网内.
...全文
165 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
大家有没有关于webForm传值到winForm方面的示例
xuan.ye 2011-03-21
  • 打赏
  • 举报
回复
.net Remoting 就可以的
-小蕾- 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 yangbiqing362937154 的回复:]
谢谢楼上的回答,那个我的服务器是WebForm,客服端是WinForm,在一个局域网中,不在一台机器上。
[/Quote]不在一台机器上就把IP设置为那台机器的ip就好啦。。
不过我这是winfrom和winfrom程序之间的,你可以参考看看,网上也有很多例子的。
-小蕾- 2011-03-21
  • 打赏
  • 举报
回复
或者:

int port = 5011;
string host = "127.0.0.1";
IPAddress ip = IPAddress.Parse(host);
IPEndPoint ipe = new IPEndPoint(ip, port);
Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个Socket类
s.Bind(ipe);//绑定2000端口
s.Listen(0);//开始监听


Socket temp = s.Accept();//为新建连接创建新的Socket。;

while (true)
{
string recvStr = "";
byte[] recvBytes = new byte[1024];
int bytes;


bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//从客户端接受信息
if (bytes==0)
{
Thread.Sleep(1000);
continue;
}

recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);

if(recvStr=="01")
{
clsRtSrvobjData cls = new clsRtSrvobjData();//这是自己做的一个接口
cls.Test(1);
}

}

接口代码如下:

using System;
using System.Collections.Generic;
using System.Text;

namespace IRtSrvObjGetData
{
public interface IServerObject
{
void Test(int a);
}
}
  • 打赏
  • 举报
回复
谢谢楼上的回答,那个我的服务器是WebForm,客服端是WinForm,在一个局域网中,不在一台机器上。
-小蕾- 2011-03-21
  • 打赏
  • 举报
回复
单向的嘛?

//client端
usingSystem;
usingSystem.Text;
usingSystem.IO;
usingSystem.Net;
usingSystem.Net.Sockets;
namespacesocketsample
{
  classClass1
  {
   staticvoidMain()
   {
    try
    {
     intport=2000;
     stringhost="127.0.0.1";
     IPAddressip=IPAddress.Parse(host);
     IPEndPointipe=newIPEndPoint(ip,port);//把ip和端口转化为IPEndPoint实例
     Socketc=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//创建一个Socket
     Console.WriteLine("Conneting...");
     c.Connect(ipe);//连接到服务器
     stringsendStr="hello!Thisisasockettest";
     byte[]bs=Encoding.ASCII.GetBytes(sendStr);
     Console.WriteLine("SendMessage");
     c.Send(bs,bs.Length,0);//发送测试信息
     stringrecvStr="";
     byte[]recvBytes=newbyte[1024];
     intbytes;
     bytes=c.Receive(recvBytes,recvBytes.Length,0);//从服务器端接受返回信息
     recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);
     Console.WriteLine("ClientGetMessage:{0}",recvStr);//显示服务器返回信息
     c.Close();
    }
    catch(ArgumentNullExceptione)
    {
     Console.WriteLine("ArgumentNullException:{0}",e);
    }
    catch(SocketExceptione)
    {
     Console.WriteLine("SocketException:{0}",e);
    }
    Console.WriteLine("PressEntertoExit");
    Console.ReadLine();
   }
  }
}


//server端
usingSystem;
usingSystem.Text;
usingSystem.IO;
usingSystem.Net;
usingSystem.Net.Sockets;
namespaceProject1
{
  classClass2
  {
   staticvoidMain()
   {
    try
    {
     intport=2000;
     stringhost="127.0.0.1";
     IPAddressip=IPAddress.Parse(host);
     IPEndPointipe=newIPEndPoint(ip,port);
     Sockets=newSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);//创建一个Socket类
     s.Bind(ipe);//绑定2000端口
     s.Listen(0);//开始监听
     Console.WriteLine("Waitforconnect");
     Sockettemp=s.Accept();//为新建连接创建新的Socket。
     Console.WriteLine("Getaconnect");
     stringrecvStr="";
     byte[]recvBytes=newbyte[1024];
     intbytes;
     bytes=temp.Receive(recvBytes,recvBytes.Length,0);//从客户端接受信息
     recvStr+=Encoding.ASCII.GetString(recvBytes,0,bytes);
     Console.WriteLine("ServerGetMessage:{0}",recvStr);//把客户端传来的信息显示出来
     stringsendStr="Ok!ClientSendMessageSucessful!";
     byte[]bs=Encoding.ASCII.GetBytes(sendStr);
     temp.Send(bs,bs.Length,0);//返回客户端成功信息
     temp.Close();
     s.Close();
    }
    catch(ArgumentNullExceptione)
    {
     Console.WriteLine("ArgumentNullException:{0}",e);
    }
    catch(SocketExceptione)
    {
     Console.WriteLine("SocketException:{0}",e);
    }
    Console.WriteLine("PressEntertoExit");
    Console.ReadLine();
   }
  }
}

  • 打赏
  • 举报
回复
都是winform宿主还是用netremoting比较好
  • 打赏
  • 举报
回复
楼上的谢谢你的回答,请问 "flyerwing"
我用HTTP协议来实现应该怎么做了
flyerwing 2011-03-21
  • 打赏
  • 举报
回复
[Quote=引用楼主 yangbiqing362937154 的回复:]
我现在想将webForm服务器中的一个流文件传到winForm客服端,webForm和winForm不在一台机器上,但在一个局域网内.
[/Quote]
关键可如何通信的,就一个SOCKET:TCP/UDP/HTTP...
估计都成吧.
coley 2011-03-21
  • 打赏
  • 举报
回复
既然你的是流文件,那么socket,tcp,udp都可以传啊
怎么传,网上大把~.

62,072

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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