繁体   English   中英

在C中等效于DataOutputStream和DataInputStream

[英]Equivalent of DataOutputStream and DataInputStream in C

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

简短的回答:不,不是真的。 与大多数现代语言相比,C语言中的套接字需要付出更多的努力。 不幸的是,没有可用的“标准”套接字库(如果您正在编写跨平台应用程序,则还必须弥补这些差异),并且可用的库不像Java中的套接字编程那样直接。 您必须从头开始,但是网络上有很多c / c ++套接字教程。 您甚至可能会找到一个好的第三方库,这将使它变得更容易。 不要在这里劝阻您,不难发现,用Java来做起来非常容易。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM