更新时间:2022-02-21 22:15:44
曾经被connect()
使用过的套接字 不能不能被重用,并再次调用
A socket that had been connect()
ed once cannot be reused with another call to connect()
.
连接到TCP服务器并读取/写入一些数据的步骤如下(伪代码):
The steps to connect to a TCP server and read/write some data are as follows (pseudo code):
fd = socket(...) // create socket descriptor (allocate socket resource)
connect(fd, server-address, ...) // connect to server
read/write(fd, data) // read from server
close(fd) // close /socket descriptor (free socket resource)
如果服务器在connect
之后关闭,则所有客户端可以并且应该做的是
In case the server goes down after connect
all the client could and shall do is
close(fd) // close /socket descriptor (free socket resource)
,然后重新开始:
fd = socket(...) // create socket descriptor (allocate socket resource)
...
从头开始:
connect(fd, server-address, ...) // connect to server
...
可能会导致不确定的行为,但至少会导致错误.
would probably lead to undefined behaviour, but at least to an error.