我正在通过服务器上的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套接字连接相关推荐

  1. [转]如何借助 TLS/SSL 确保套接字连接的安全(使用 C#/VB/C++ 和 XAML 的 Windows 应用商店应用)...

    本文转自:http://msdn.microsoft.com/zh-cn/library/windows/apps/jj150597.aspx 本主题将展示在使用 StreamSocket 功能时,如 ...

  2. WCF分布式开发常见错误(10):套接字连接中断,The socket connection was aborted

    (使用Windows Service作为宿主的时候也会出现这样的情况,搜索的) 我们这里是自定义托管宿主,在进行WCF编程开发过程时,使用NetTcpBinding绑定协议,作为通讯协议,可能会引发这 ...

  3. 打开VM虚拟机,遇见问题“无法连接MKS:套接字连接次数太多;正在放弃。”

    问题 "无法连接MKS:套接字连接次数太多:正在放弃." 解决办法 右键"开始" 选择"计算机管理" 在"服务"里找到V ...

  4. VmWare工作笔记001---弹出错误提示无法连接mks:套接字连接尝试次数太多

    技术交流QQ群[JAVA,.NET,BigData,AI]:170933152 弹出错误提示无法连接mks:套接字连接尝试次数太多,这时我们点击确定按钮. 这个直接到服务中,看看有没有VMware的服 ...

  5. Win 7 安装VMware Workstation Pro 14出现 “Intel VT-x禁用”问题以及“无法连接 MKS: 套接字连接尝试次数太多;正在放弃”问题的实质性解决

    Win 7 安装VMware Workstation Pro 14出现 "Intel VT-x禁用"问题以及"无法连接 MKS: 套接字连接尝试次数太多:正在放弃&quo ...

  6. 【苹果群发】内容Apple推送iMessage服务器和iOS手机操作系统之间的套接字连接PushNotificationDemo

    推荐内容IMESSGAE相关 作者推荐内容 iMessage苹果推软件 *** 点击即可查看作者要求内容信息 作者推荐内容 1.家庭推内容 *** 点击即可查看作者要求内容信息 作者推荐内容 2.相册 ...

  7. python出现套接字创建不成功_python套接字连接在Mac上被拒绝但在Windows

    这不是connection refused的重复.此问题询问MacOS和Windows之间的区别.此外,Mac上的防火墙已关闭. 我正在尝试通过套接字与设备通信.代码用python编写.出于某种原因, ...

  8. android蓝牙连接回调没反应,Android蓝牙套接字连接无法正常工作

    我正在开发一个单独的BluetoothHelper课程.在connectToBTDevice()方法中,调用一个新线程,在线程中,蓝牙套接字试图连接到蓝牙设备.不幸的是,它开始很好,但退出时发出警告S ...

  9. 监听套接字 连接套接字的区别

    摘要:对于服务器编程中最重要的一步等待并接受客户的连接,那么这一步在编程中如何完成,accept函数就是完成这一步的.它从内核中取出已经建立的客户连接,然后把这个已经建立的连接返回给用户程序,此时用户 ...

最新文章

  1. mysql错误日志/var/log/mariadb/mariadb.log,二进制日志
  2. Android驱动中的Kconfig文件与Makefile文件
  3. 关于php 高并发解决的一点思路
  4. salesforce零基础学习(八十九)使用 input type=file 以及RemoteAction方式上传附件
  5. TODO-MVP-Loaders源码体验
  6. 【项目合作】瓷砖表面打印缺陷识别
  7. 字符串常量与字符数组的区别和字符串常量易错点
  8. MySQL之InnoDB存储引擎
  9. AWR6843芯片使用JFlash下载外部NorFlash
  10. 医学编码与计算机,医学编码培训课件.ppt
  11. c语言:简单的客户管理系统
  12. 单片机音频谱曲软件_单片机谱曲软件怎么弄 51单片机蜂鸣器电子琴程序
  13. Invalid injected android support version ‘202.7660.26.42.7322048‘, expected to be of the form ‘w.x.y
  14. AutoCAD 2018安装教程
  15. 广和通率先启动基于联发科技 T830 5G平台的5G模组开发,加速全球运营商5G FWA部署
  16. 3、T5L迪文屏资源介绍
  17. TrinityCore魔兽世界服务器-环境搭建(Debian11)
  18. c语言中的calloc函数
  19. android课程设计健身,健身软件课程设计.doc
  20. 内边距(padding)

热门文章

  1. Mission Planner编译方法与问题解决
  2. matlab求向量空间的基,线性空间维数与基的求法.doc
  3. Flask实现Web服务调用Python程序
  4. 关于java取反运算
  5. java 获取home路径_关于JAVA_HOME等引用路径
  6. ug绘图中如何把曲面变成实体?
  7. 移除List集合中特定的元素
  8. 数据结构 C/C++ 三角矩阵
  9. 第二批!四川省科技计划项目任务书和纸质申报书相关流程要求材料
  10. flyme8会更新Android版本吗,魅族X8Flyme8 刷机包(最新固件升级包安卓8.0)