
正文
c向php服务端传递数据 php发布到服务器
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
C#应用如何与PHP服务器通信?
我不知道你具体要做到什么程度,但是如果是那种用C#开发一个客户端,然后用php作为服务端的语言这样的情况的话,倒是很好解决的。
你可以在服务器端用php写一些网页,然后用C#去请求这些网页,然后获取这些网页上输出的结果,再根据这些结果来判断C#端要如何处理。
嗯……我不知道这么说你能懂不能,这个过程很像你通过浏览器去访问网页一样。
通过C#去请求服务器上的php链接,可以通过get的请求方式来传递一些参数,然后php页面返回json值给C#端,然后C#端对传回的json值进行处理,这样就完成交互了。
相关问答
Q1: C#使用PHP服务端的Web Service通信实例
这篇文章主要介绍了C#使用PHP服务端的Web
Service通信实例,需要的朋友可以参考下
注:本例中构建Web
Service采用SOAP方式,通过php插件NuSoap来搭建SOAP服务器。
代码如下:
?
require_once("lib/nusoap.php");
//调用NuSoap
$server
=
new
soap_server();
//创建soap服务端
$server-configureWSDL("login_service");
//配置WSDL
$namespace
=
"";
$server-wsdl-schemaTargetNamespace
=
$namespace;
//设置wsdl命名空间为
$server-register(
//
注册Web服务
'login_verifiy',
//定义名称
array('name'='xsd:string','pw'='xsd:string'),
//接受参数
array('return'='xsd:string'),
//返回
$namespace,
//命名空间
false,
//
soapaction:默认
'rpc',
//
类型:
rpc
or
document
'encoded',
//
参数:encoded(编码)或
literal(文字)
'A
web
method
of
login'
//描述
);
$POST_DATA
=
isset($GLOBALS['HTTP_RAW_POST_DATA'])?
$GLOBALS['HTTP_RAW_POST_DATA']
:
'';
$server-service($POST_DATA);
//将提交的数据传递给soap服务
function
login_verifiy($user,$pw)
{
//服务执行内容,本示例中为显示输入的帐号密码
return
'user:'.$user.'
password:'.$pw);
}
?
C#客户端调用:
代码如下:
[DllImport("kernel32")]
//调用api函数读ini文件。返回值为字符串缓冲区的长度
private
static
extern
long
GetPrivateProfileString(string
section,
string
key,
string
def,
StringBuilder
retVal,
int
size,
string
filePath);
private
void
Form1_Load(object
sender,
EventArgs
e)
{
StringBuilder
temp
=
new
StringBuilder(256);
GetPrivateProfileString("system",
"url",
null,
temp,
256,
System.IO.Directory.GetCurrentDirectory()+"config.ini");
//通过读取config.ini配置文件(结构见附加内容)来获取webservice
url
Program.server_url
=
temp.ToString();
//Program.cs中的全局变量server_url用以储存webservice
url
}
private
void
button1_Click(object
sender,
EventArgs
e)
{
WebReference.login_service
l
=
new
WebReference.login_service();
string
s=l.login_verifiy(username.Text,
password.Text);
MessageBox.Show(s);
}
附config.ini内容:
代码如下:
[system]
url=
Q2: 用C写的一个socket数据包发送到80端口,用php怎么在服务器上接收到?
set_time_limit(0);
//设置脚本超时时间;0表示不限制
$socket
=
socket_create(AF_INET,
SOCK_STREAM,SOL_TCP);
//创建一个套接字,参数太多,自己查手册
socket_bind($socket,'localhost',80);
绑定主机,端口
socket_listen($socket);
监听端口
$connection=socket_accept($socket)
接受连接
后面就可以通过socket_read()和socket_write();进行收发数据
最后用socket_close()销毁资源;
注意,这里需要直接通过php.exe直接来驱动,不要过服务器;
Q3: php与C的交互问题
你这样做简直就是浪费了PHP 。
PHP 是做后端的不是做前端的。前端用 html。
如果不是效率要求特别高,是用不上C 的。
而且PHP 的效率已经非常高了。
c向php服务端传递数据的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于php发布到服务器、c向php服务端传递数据的信息别忘了在本站进行查找喔。





