python与C#间socket通讯
有时候,我们有些功能想使用不同的编程语言来完成,那么如何将不同编程语言写的程序联系到一起呢
socket(套接字)是一种操作系统提供的进程间通信机制。在操作系统中,通常会为应用程序提供一组应用程序接口,称为套接字接口。应用程序可以通过套接字接口,来使用网络套接字,以进行数据交换。
而我们这里,就是使用socket来实现各程序之间的通讯,达到互相调用的效果。
套接字之间的连接过程主要分为三个步骤:
1.服务端监听
2.客户端请求
3.连接确认
1.python服务端,C#客户端
以下python代码是对127.0.0.1:9999 (localhost:9999)进行监听,并对请求做出反应,达到服务端的目的
1 | import time,threading,socket |
然后在C#里,我们引用System.Net
1 | using System.Net; |
在主函数内,编写如下代码,实现对服务端发送请求并接收返回结果。
1 | var host = "127.0.0.1"; |
2.python客户端,C#服务端
第二种,反过来,用C#做服务端,实现的功能和上面相同,不过多解释,代码如下:
1 | using System.Net; |
python客户端:
1 | import socket |
另外,需要注意的是,无论是什么语言编写,都要保证服务端和客户端的数据编码一致,否则会出现乱码的问题。