我正在通过服务器上的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. 一作解读:Microbiome马铃薯疮痂病与土壤微生物组关系新进展
  2. 使用redis时遇到的问题
  3. 【学习笔记】juc并发学习+关于锁的面试题
  4. Boost:容器std::pair与宏BOOST_TEST_EQ相关的测试
  5. th:text为null报错_为vue3.0的学习TS解读高级类型
  6. 纯CSS自定义button按钮的点击特效
  7. 全网呕血整理:关于YOLO v3原理分析
  8. 06-02 Jenkins job 机制
  9. HTML仿网易云音乐首页静态,用 Vue.js 模仿一个简单的网易云音乐
  10. Vbs 脚本编程简明教程之一
  11. 从java9共享内存加载modules说起
  12. NVIDIA针对大规模数据分析和机器学习推出RAPIDS开源GPU加速平台!
  13. Python BeautifuSoup 库 mooc 中国大学学习
  14. pandas之用loc、iloc、ix进行索引以及切片
  15. vscode实用快捷键查找和替换
  16. 产品经理如何提升自己的知识
  17. ASUS 华硕 NX580V 飞行堡垒 安装WIN7系统教程
  18. 一加3t刷机后还卡_一加3T通用刷机教程
  19. 阿里P8大神给予迷茫的程序员一些中肯建议,不要再虚度光阴了
  20. java打包成docker images

热门文章

  1. ViSP学习笔记(十七):通用的基于模型的目标跟踪
  2. KeyboardEvent.metaKey 苹果电脑command键按下、win键按下
  3. 嫁给打CS男的十大理由(我就是哦)
  4. [用户分享]CloudCanal助力万店掌MySQL同步ES构建宽表场景
  5. 华为hcnp综合实验--基于园区网的真实案例
  6. Java程序优化细节
  7. 每年过年前几天有搞头的,国债逆回购节前最后几天可能会狂飙
  8. set的基本知识及案例
  9. Arduino点亮数码管
  10. buildingEXODUS v4.0(应用于建筑、海上作业、航空航天领域的消防安全分析设计软件)...