我用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中更容易理解。