作者mcamory (一切都是真的!!)
看板NTUIM-14
标题[网路应用与技术] Assignment #1 问题回应 1
时间Mon Nov 6 10:48:59 2006
不好意思 我临时想不到标题 有同学有写信来询问 我在此作一个说明
1. Server的执行方式 : Server的执行方式在文件上有说明, 有同学问说打./server
不能执行, 如果这样的述叙没有遗漏的话。应该是你少打参数了
文件上有写server的执行是要打
./server <server listenning port><space><-option> 请看一下文件的说明
如果还是不能执行, 请把错误讯息PO出来一下。
2. Buffer size : 这部分我忘了提及很抱歉,Server的receive buffer size为30(bytes)
所以每次client与server的沟通不能超过30字元。
3. Client传给Server的资料格式:Client传给Server的资料都是字元,
不要有其他资料型态,server不会做任何marshelling的工作。
至於如何将数字转成字元,方法有二:
a) in C: sprintf
#include <stdio.h>
char out[20];
int num=24;
sprintf( result, "%d", num );
b) in C++:
#include<sstream>
string intToStr(const int& k)
{
ostringstream oss;
oss << k;
return oss.str();
}
4. Client的available port有几个: 1个。
这边available port的意思相当於server的listenning port,就是指其他client
想联络你要经由哪一个port。
e.g A想跟B交谈,於是主动发出connection到B的available port(say 5566)
B在port 5566要有个listen的动作,而如果有一个C想跟A交谈,一样的,C要
主动发出connection到A的available port(say 5566,too),A也要在port 5566
有个listen的动作,那如果D也想与A交谈呢?一样的,D要主动发出connection
到A的5566 port。
那至於A,C,D主动发出connection时要用那个port呢? 这个就没有限定了
只要不是available port(listenning port)就好了。
这边的观念很重要,但有时候不是那麽容易懂,同学可以好好的看一下port的观念。
也可以超前预习到第三章transportation layer的部分帮助厘清观念。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.112.107.41
※ 编辑: mcamory 来自: 140.112.107.41 (11/06 10:49)
※ 编辑: mcamory 来自: 140.112.107.41 (11/06 10:50)