gpt4 book ai didi

c# - 如何通过套接字将数据从C#客户端发送到Java服务器?

转载 作者:行者123 更新时间:2023-12-03 12:01:44 24 4
gpt4 key购买 nike

我有一个由Java编写的套接字服务器,它总是在特定端口上监听。我用Java编写了一个客户端,它可以连接到服务器,但是当我用C#创建客户端时,无法连接到Server。

我只想发送一个简短的值来启动Java服务器。

我想问题来自字节序(little-endian,big-endian),我有几天的研究时间,但无法解决此问题。

我发布有关我的问题的更多信息

我使用java.io. *和java.net。*。我的java代码

out = new ObjectOutputStream(requestSocket.getOutputStream());
out.flush();
public static final short CLIENT = 0;
out.writeShort(CLIENT);
out.flush();



和C#,我使用System.Net.Sockets。我的C#代码如下:

Socket socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
...
short sClient = 0;
if (BitConverter.IsLittleEndian) sClient = IPAddress.HostToNetworkOrder(sClient);

NetworkStream ns = new NetworkStream(socket);
BinaryWriter bw = new BinaryWriter(ns);
bw.Write(sClient);


Java代码可以连接到Java服务器,但是C#代码不能:(。Java服务器的输出错误是“获取套接字流时发生异常”

任何人都可以帮助我解决这个问题,在此先感谢

最佳答案

如果字节顺序是您的问题,则应查看以下两个链接,这些链接向您显示如何在主机字节序和网络字节序之间转换

Network to Host order

Host to network order

希望这可以帮助。

关于c# - 如何通过套接字将数据从C#客户端发送到Java服务器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2070059/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com