阅读量: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地址和端口号正确匹配。