1

我用java写了这段代码

public class Client
{
    private static int    _port;
    private static Socket _socket;


    public static void main(String[] args)
    {

        try
        {
            _port   = 8071;
            _socket = new Socket("localhost", _port);


            Random rand = new Random();
            int  n = rand.nextInt(50) + 1;
            DataOutputStream dos = new DataOutputStream(_socket.getOutputStream());
                dos.writeInt(n);
                dos.flush();



            // Show the server response
            DataInputStream din = new DataInputStream(_socket.getInputStream());
            int ServerNumber= din.readInt();

            System.out.println(ServerNumber);
            String serverRandomString=din.readUTF();
            System.out.println(serverRandomString);


            din.close();
            dos.close();
        }

这是一个简单的套接字通信。我的服务器在 java 中,但我想尝试用 C 编写客户端。在 C 中有 DataOutputStream 和 DataInputStream 的替代方法吗?

4

1 回答 1

1

简短的回答:不,不是真的。与大多数现代语言相比,C 语言中的套接字需要更多的努力。不幸的是,没有可用的“标准”套接字库[如果你正在编写一个跨平台应用程序,你也必须在差异之间进行补偿],并且可用的那些并不像 java 中的套接字编程那样直接。您必须从头开始,不过网上有很多 c/c++ 套接字教程。您甚至可能会找到一个很好的第三方库来帮助您简化它。在这里不是想劝阻你,这并不难弄清楚,在 Java 中做起来非常容易。

于 2013-05-02T17:02:59.083 回答