Skip to navigation
C# RPC server with a python RPC client
04.03.20
C# server: using System; using System.Text; using System.Net.Sockets; using System.Net; using System.Threading; namespace server { class Program { static void Main(string[] args) { try { IPAddress ipaddress = IPAddress.Parse("192.168.43.62"); TcpListener mylist = new TcpListener(ipaddress, 8000); mylist.Start(); Console.WriteLine("Server is Running on Port: 8000"); Console.WriteLine("Local endpoint:" + mylist.LocalEndpoint); Console.WriteLine("Waiting for Connections..."); while (true) { Socket s = mylist.AcceptSocket(); Console.WriteLine("Connection Accepted From:" + s.RemoteEndPoint); var childSocketThread = new Thread(() => { byte[] b = new byte[1024]; int k = s.Receive(b); Console.WriteLine("Recieved.."); System.Text.StringBuilder msg = new System.Text.StringBuilder(); for (int i = 0; i < k; i++) { msg.Append(Convert.ToChar(b[i])); } String message = msg.ToString(); Console.WriteLine("Message " + message); Encoding iso = Encoding.GetEncoding("ISO-8859-1"); Encoding utf8 = Encoding.UTF8; byte[] utfB = utf8.GetBytes("You send:" + message); byte[] en = Encoding.Convert(utf8, iso, utfB); Thread.Sleep(10000); s.Send(en); Console.WriteLine("\nAutomatic Message is Sent"); s.Close(); //mylist.Stop(); //Console.ReadLine(); }); childSocketThread.Start(); } } catch (Exception ex) { Console.WriteLine("Error.." + ex.StackTrace); } } } } Python client: # -*- coding: utf-8 -*- import time import rpyc from rpyc.core.stream import SocketStream def main(): #create connection and send request s = SocketStream.connect("192.168.43.62", 8000) b = '
hello foo bar
'.encode('iso-8859-1') s.write(b) #wait until server response while True: d = s.poll(1) if d == True: break data = gdata(s) print(data) s.close() def gdata(s): a = [] while s.closed == False: try: r = s.read(1).decode('iso-8859-1') a.append(r) except Exception as e: break return ''.join(a) if __name__ == "__main__": main()
https://rpyc.readthedocs.io/en/latest/api/core_stream.html#
Reply
Anonymous
Information Epoch 1745973575
Save trees.
Home
Notebook
Contact us