我正在尝试使用select模块函数来实现可以处理客户端的connect system
begin
dbms_xdb.sethttpport('8181');
end;
/
Press enter
,但是我对来自
我想知道。我的代码是否正确?如果没有,我该怎么修理它。
服务器端
TCP server
答案 0 :(得分:1)
如果您使用select
,则不应设置非阻止模式,因为每个请求都不会阻止。你没有在select中使用输出;如果你想发送一些东西,你必须检查输出是否准备就绪。
您不使用协议。 recv
最多可以接收1024个字节,但您还必须处理这种情况,即每个recv
只读取一个字节。所以你必须知道(通过协议)reqCommand
何时完成。
使用select
,您不得使用while
- 循环来接收更多数据。您必须在主循环中读取块并存储它们,直到传输完成。
使用select
,您不得使用for
- 循环和sendall
来发送数据。您必须通过select
询问套接字是否已准备好输出数据并使用send
并返回值以了解已发送的字节数。
您无法处理已关闭的连接。