qreader php,C#-PHP套接字连接
我正在通过服务器上的php脚本控制的PC上编写程序.我目前正在使用php来来回ftp文件并使用c#读取文件并根据文件中的数据执行命令.然而,这不是一个理想的解决方案.
我想看一个关于如何使用php将数据发送到c#程序pver套接字的教程或示例.
我想发送的数据示例
1:control1
1:control2
1:control3
0:control4
0:control5
谁能指出我正确的方向?
解决方法:
而不是尝试让你的服务器端PHP脚本将数据发送到C#程序,这将给你带来一堆令人头疼的问题,为什么不在PHP脚本上写一些东西,给定页面的特定请求,输出当前排队的说明?然后,C#程序可以只对页面进行WebRequest并接收其指令.
例如:
== PHP SCRIPT ==
//main execution.
process_request();
function process_request()
{
$header = "200 OK";
if (!empty($_GET['q']) && validate_request())
{
switch ($_GET['q'])
{
case "get_instructions":
echo get_instructions();
break;
case "something_else":
//do something else depending on what data the C# program requested.
break;
default:
$header = "403 Forbidden"; //not a valid query.
break;
}
}
else { $header = "403 Forbidden"; } //invalid request.
header("HTTP/1.1 $header");
}
function validate_request()
{
//this is just a basic validation, open to you for how you want to validate the request, if at all.
return $_SERVER["HTTP_USER_AGENT"] == "MyAppName/1.1 (Instruction Request)";
}
function get_instructions()
{
//pseudo function, for example purposes only.
return "1:control1\n1:control2\n1:control3\n0:control4\n0:control5";
}
?>
现在实际从请求中检索数据:
== C#客户代码==
private string QueryServer(string command, Uri serverpage)
{
string qString = string.Empty;
HttpWebRequest qRequest = (HttpWebRequest)HttpWebRequest.Create(serverpage.AbsoluteUri + "?q=" + command);
qRequest.Method = "GET";
qRequest.UserAgent = "MyAppName/1.1 (Instruction Request)";
using (HttpWebResponse qResponse = (HttpWebResponse)qRequest.GetResponse())
if (qResponse.StatusCode == HttpStatusCode.OK)
using (System.IO.StreamReader qReader = new System.IO.StreamReader(qResponse.GetResponseStream()))
qString = qReader.ReadToEnd().Trim(); ;
return qString;
}
这是一个粗略的模板,具有最小的错误处理,希望它足以让您入门.
编辑:Woops,忘了包含一个示例用法:
MessageBox.Show(QueryServer("get_instructions", new Uri("http://localhost/interop.php")));
标签:php,c,sockets
来源: https://codeday.me/bug/20190704/1376844.html
qreader php,C#-PHP套接字连接相关推荐
- [转]如何借助 TLS/SSL 确保套接字连接的安全(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)...
本文转自:http://msdn.microsoft.com/zh-cn/library/windows/apps/jj150597.aspx 本主题将展示在使用 StreamSocket 功能时,如 ...
- WCF分布式开发常见错误(10):套接字连接中断,The socket connection was aborted
(使用Windows Service作为宿主的时候也会出现这样的情况,搜索的) 我们这里是自定义托管宿主,在进行WCF编程开发过程时,使用NetTcpBinding绑定协议,作为通讯协议,可能会引发这 ...
- 打开VM虚拟机,遇见问题“无法连接MKS:套接字连接次数太多;正在放弃。”
问题 "无法连接MKS:套接字连接次数太多:正在放弃." 解决办法 右键"开始" 选择"计算机管理" 在"服务"里找到V ...
- VmWare工作笔记001---弹出错误提示无法连接mks:套接字连接尝试次数太多
技术交流QQ群[JAVA,.NET,BigData,AI]:170933152 弹出错误提示无法连接mks:套接字连接尝试次数太多,这时我们点击确定按钮. 这个直接到服务中,看看有没有VMware的服 ...
- Win 7 安装VMware Workstation Pro 14出现 “Intel VT-x禁用”问题以及“无法连接 MKS: 套接字连接尝试次数太多;正在放弃”问题的实质性解决
Win 7 安装VMware Workstation Pro 14出现 "Intel VT-x禁用"问题以及"无法连接 MKS: 套接字连接尝试次数太多:正在放弃&quo ...
- 【苹果群发】内容Apple推送iMessage服务器和iOS手机操作系统之间的套接字连接PushNotificationDemo
推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...
- python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows
这不是connection refused的重复.此问题询问MacOS和Windows之间的区别.此外,Mac上的防火墙已关闭. 我正在尝试通过套接字与设备通信.代码用python编写.出于某种原因, ...
- android蓝牙连接回调没反应,Android蓝牙套接字连接无法正常工作
我正在开发一个单独的BluetoothHelper课程.在connectToBTDevice()方法中,调用一个新线程,在线程中,蓝牙套接字试图连接到蓝牙设备.不幸的是,它开始很好,但退出时发出警告S ...
- 监听套接字 连接套接字的区别
摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的.它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户 ...
最新文章
- mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
- Android驱动中的Kconfig文件与Makefile文件
- 关于php 高并发解决的一点思路
- salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
- TODO-MVP-Loaders源码体验
- 【项目合作】瓷砖表面打印缺陷识别
- 字符串常量与字符数组的区别和字符串常量易错点
- MySQL之InnoDB存储引擎
- AWR6843芯片使用JFlash下载外部NorFlash
- 医学编码与计算机,医学编码培训课件.ppt
- c语言:简单的客户管理系统
- 单片机音频谱曲软件_单片机谱曲软件怎么弄 51单片机蜂鸣器电子琴程序
- Invalid injected android support version ‘202.7660.26.42.7322048‘, expected to be of the form ‘w.x.y
- AutoCAD 2018安装教程
- 广和通率先启动基于联发科技 T830 5G平台的5G模组开发,加速全球运营商5G FWA部署
- 3、T5L迪文屏资源介绍
- TrinityCore魔兽世界服务器-环境搭建(Debian11)
- c语言中的calloc函数
- android课程设计健身,健身软件课程设计.doc
- 内边距(padding)
热门文章
- Mission Planner编译方法与问题解决
- matlab求向量空间的基,线性空间维数与基的求法.doc
- Flask实现Web服务调用Python程序
- 关于java取反运算
- java 获取home路径_关于JAVA_HOME等引用路径
- ug绘图中如何把曲面变成实体?
- 移除List集合中特定的元素
- 数据结构 C/C++ 三角矩阵
- 第二批!四川省科技计划项目任务书和纸质申报书相关流程要求材料
- flyme8会更新Android版本吗,魅族X8Flyme8 刷机包(最新固件升级包安卓8.0)