在UNIX服务器上用C编写客户机/服务器程序

时间:2011-05-01 05:49:50

标签: c unix client-server

我正在尝试使用Unix中的套接字编写基本的C客户端/服务器程序。我从家用电脑登录我学校的Unix服务器。我正在登录两次,一次是模拟服务器而另一次是模拟客户端。我是否使用AF_INET或AF_UNIX?我应该使用谁的IP地址,来自家用电脑或学校的IP地址?如果我使用学校的IP地址,我怎么知道它是什么?我如何找出应该使用的端口号?我的客户端和服务器的端口号是否必须相同?

3 个答案:

答案 0 :(得分:2)

  1. 通常您会想要使用AF_INET - 之后您就可以在多台计算机之间进行通信。
  2. 使用127.0.0.1;这意味着“这台电脑”。
  3. 组成端口号并将其用于两者。通常你会想要选择1024和65536之间的东西,独家。

答案 1 :(得分:0)

由于程序在学校计算机上运行,​​您应该使用该IP地址 您可以使用命令 / usr / sbin / ifconfig -a 来查找它(它是inet地址)。但是,如果两个登录都在同一台物理计算机上(例如在我的学校并非总是如此),则可以使用127.0.0.1。
您可以使用任何所需的端口号,但选择一个高位(如四位数),因为较低的一些是某些服务的默认值 客户端和服务器的端口号不必相同,但您可能更容易记住它们是否存在。

答案 2 :(得分:0)

有很多例子,请参阅here。你需要了解一些东西:

  • TCP,UDP及它们之间的区别
  • 什么是套接字,套接字类型(流,数据报,顺序包)
  • 套接字API - BSD,POSIX,WinSock(如果您计划为Windows编程)