C中DataOutputStream和DataInputStream的等价物

时间:2013-05-02 16:46:39

标签: java c sockets datainputstream dataoutputstream

我在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的替代方法吗?

1 个答案:

答案 0 :(得分:1)

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