首页 > 编程语言 >c sharp与python通信

c sharp与python通信

时间:2023-04-12 21:22:51浏览次数:35  
标签:string using python ip 通信 System new sharp

最近在学unity,想在unity调用python。因此学习了使用udp来建立通信。

python发送,c sharp接收

python代码

import socket
import time

sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
serverAddressPort = ("127.0.0.1", 10086)      # 5052 定义localhost与端口,当然可以定义其他的host

count = 0
while True:
    sock.sendto(str.encode(str(count)), serverAddressPort)
    count += 1
    time.sleep(1)

c sharp代码

using System;
using System.Collections.Generic;
using System.Text;
using System.Net.Sockets;
using System.Net;

namespace Client
{
    class setIpAndPort
    {
        private string ip;
        private int port;
        public void setIp(string Ip)
        {
            ip = Ip;
        }
        public void setPort(int Port)
        {
            port = Port;
        }

        public setIpAndPort(string Ip, int Port)
        {
            ip = Ip;
            port = Port;
        }
        public string getIp()
        {
            return ip;
        }
        public int getPort()
        {
            return port;
        }

    }

    class Program
    {
        
        static void Main(string[] args)
        {
            // 服务端
            setIpAndPort Setting = new setIpAndPort("127.0.0.1", 10086);
            // 1、创建Udp Socket
            Socket udpServer = new Socket(AddressFamily.InterNetwork, SocketType.Dgram, ProtocolType.Udp);
            // 2、绑定ip跟端口号
            udpServer.Bind(new IPEndPoint(IPAddress.Parse(Setting.getIp()), Setting.getPort()));
            // 3、接受数据
            EndPoint remoteEndPoint = new IPEndPoint(IPAddress.Any, 0);
            byte[] data = new byte[1024];

            while (true)
            {
                int length = udpServer.ReceiveFrom(data, ref remoteEndPoint);
                // 这个方法会把数据的来源(ip:port)放在第二个参数上。
                string message = Encoding.UTF8.GetString(data, 0, length);
                Console.WriteLine("data: "+message);
                
            }
        }
    }

}

标签:string,using,python,ip,通信,System,new,sharp
From: https://www.cnblogs.com/crazyMint/p/17311315.html

相关文章

  • 摸鱼用python代码收集每天大瓜内容信息,并发送到自己的邮箱
    本篇文章内容主要为如何用代码,把你想要的内容,以邮件的形式发送出去内容可以自己完善,还可以设置一个定时发送,或者开机启动自动运行代码代理注册与使用注册账号并登录生成api将自己电脑加入白名单http://api.tianqiip.com/white/add?key=xxx&brand=2&sign=xxx&ip=输入自己电脑的ip地......
  • 05-分布式通信
    一、Netty和网络通信(一)Netty框架简介​1、BIO​存在性能问题、可靠性问题、可维护性问题​​BIO的核心问题是同步阻塞publicvoidservice()throwsIOException{ServerSocketserverSocket=newServerSocket(port);......
  • 面试题:python
    列表和元组的区别列表是动态的,长度可变,可以对元素进行增、删、改操作;列表存储空间略大于元组,性能略逊于元组;元组是静态的,长度大小固定,不可以对元素进行增、删、改操作;元组相对于列表更加轻量级,性能稍优;字典和集合字典是有序的数据结构,而集合是无序的,其内部的哈希表存储结构,......
  • python习题-筛法求素数
    【题目描述】用户输入整数n和m(1<n<m<1000),应用筛法求[n,m]范围内的所有素数。【基本思想】用筛法求素数的基本思想是:把从2到N的一组正整数从小到大按顺序排列。从中依次删除2的倍数、3的倍数、5的倍数,直到根号N的倍数为止,剩余的即为2~N之间的所有素数。【源代码程序】defsie......
  • python(十一):小型数据库:shelve
     Python中shelve模块是对象持久化保存方法,将对象保存到文件里面,缺省(即默认)的数据存储文件是二进制的,可以作为一个简单的数据存储方案。使用时,只需要使用open函数获取一个shelf对象,然后对数据进行增删改查操作,在完成工作、并且将内存存储到磁盘中,最后调用close函数变回将......
  • python习题-验证6174猜想
    【题目描述】1955年,卡普耶卡(D.R.Kaprekar)对4位数字进行了研究,发现一个规律:对任意各位数字不相同的4位数,使用各位数字能组成的最大数减去能组成的最小数,对得到的差重复这个操作,最终会得到6174这个数字,并且这个操作最多不会超过7次。请编写程序验证这个猜想。【源代码程序】de......
  • python习题-杨辉三角
    【题目描述】输出n(0<n)行杨辉三角形,n由用户输入。【源代码程序】n=int(input("请输入要打印的杨辉三角的行数:"))#初始化杨辉三角的第一行triangle=[[1]]#循环生成杨辉三角foriinrange(1,n):#初始化当前行的第一个元素为1row=[1]#循环生成当......
  • 20230412-Python-pycharm使用技巧
     1.新建文件,自动生成代码       2.自动补齐自定义段落        3.修改注释颜色        ......
  • Python的函数的缺省值参数(空列表)之坑
    Fromhttps://www.jianshu.com/p/9f899d829562 defadd(x,lst=[]):ifnot(xinlst):lst.append(x)returnlstlist1=add(1)print(list1)list2=add(2)print(list2)list3=add(3,[11,12,13,14])print(list3)list4=add(4)print(list4......
  • Python程序笔记20230304
    抛硬币实验random模块importrandomrandom.randint(a,b)返回一个随机整数N,范围是:a<=N<=brandom.choice("ilovefishc")从"ilovefishc"这个字符串中随机选出一个字符。编写一个双色球的开奖模拟程序importrandomred=random.sample(range(1,34),6)blue=r......