栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

c#与python之间通信(通过Socket互传数据)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

c#与python之间通信(通过Socket互传数据)

使用工具

Visual Studio

Python3 

C#

Socket

Socket是常用的通信的常用工具。其通讯协议分为TCP传输或者为UDP传输。TCP传输可以保证不丢包但是传输相对较慢,UDP则传输较快,但是会有丢包现象。这里以TCP传输为例。

首先是客户端,也就是发送数据的的一方。这里用Python作为客户端向服务端发送数据。代码如下:

import socket
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)  # 创建Socket的客户端
client.connect(('192.168.43.2', 1111))  # 设置相对应的ip地址和端口号 我的IP:192.168.43.2 端口号:1111
while True:
        message = input("发送的信息:")  # 输入要发送的内容
        client.send(message.encode('utf-8'))  # 发送
client.close() #结束后关闭

查看自己电脑的IP地址:打开菜单 输入cmd 打开命令提示符

输入:ipconfig

找到相对应的ip地址 即可 

接下来是服务端。服务端用于接收客户端传过来的数据,这里使用C#来编写Socket的服务端。

using System;
using System.Net.Sockets;
using System.Net;
using System.Text;

namespace socket_server
{
    class MainClass
    {
        static string ip = "192.168.43.2"; //设置与客户端相应的IP
        static int port = 1111;            //设置与客户端相应的端口号

        public static void Main(string[] args)
        {
            Console.WriteLine("服务器启动.....");
            //创建服务端
            Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            //绑定对应的IP与端口号
            EndPoint point = new IPEndPoint(IPAddress.Parse(ip), port);
            server.Bind(point);
            server.Listen(100);
            //设置接收消息
            Socket socket = server.Accept();
            while (true)
            {
                
                byte[] bytes = new byte[1024];
                int len = socket.Receive(bytes);
                string msg = Encoding.UTF8.GetString(bytes, 0, len);
                Console.WriteLine(msg);

            }
        }
    }
}

暑期编程PK赛 得CSDN机械键盘等精美礼品!
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1015311.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号