C# Socket如何与Java通信

avatar
作者
筋斗云
阅读量:0

要让C# Socket与Java通信,可以使用Socket编程。可以在C#中使用Socket类来创建一个Socket对象,然后使用它来连接到Java应用程序的Socket。在Java中,也可以使用Socket类来创建一个Socket对象,然后使用它来连接到C#应用程序的Socket。

以下是一个示例代码,演示如何在C#和Java之间建立Socket通信:

在C#中的代码:

using System; using System.Net; using System.Net.Sockets; using System.Text;  class Program {     static void Main()     {         // 创建一个Socket对象         Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);          // 连接到Java应用程序的Socket         socket.Connect(IPAddress.Parse("Java应用程序的IP地址"), Java应用程序的端口号);          // 发送数据到Java应用程序         byte[] data = Encoding.ASCII.GetBytes("Hello from C#");         socket.Send(data);          // 接收来自Java应用程序的数据         byte[] buffer = new byte[1024];         int bytesRead = socket.Receive(buffer);         string response = Encoding.ASCII.GetString(buffer, 0, bytesRead);         Console.WriteLine("Received from Java: " + response);          // 关闭Socket连接         socket.Close();     } } 

在Java中的代码:

import java.io.*; import java.net.*;  public class Main {     public static void main(String[] args) {         try {             // 创建一个Socket对象             Socket socket = new Socket("C#应用程序的IP地址", C#应用程序的端口号);              // 接收来自C#应用程序的数据             BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));             String data = in.readLine();             System.out.println("Received from C#: " + data);              // 发送数据到C#应用程序             PrintWriter out = new PrintWriter(socket.getOutputStream(), true);             out.println("Hello from Java");              // 关闭Socket连接             socket.close();         } catch (IOException e) {             e.printStackTrace();         }     } } 

以上代码示例中,C#程序通过Socket发送数据到Java程序,Java程序接收并发送数据到C#程序。确保C#和Java程序在相同的网络中,IP地址和端口号正确匹配。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!