socket连接,客户端断开连接,程序直接退出
又是我,今天又遇到两个问题,
用socket做的服务器端和客户端的通讯,
服务器端启动监听,客户端启动连接,
客户端连接到服务器端之后开始传输数据。
一个问题是,
客户端循环给服务器端发送字符串,
服务器端循环接收字符串,
服务器端接收到得和客户端发送的信息格式不一致,
比如(一行是发送或者接收一次):
客户端发送:
aaaaaaaaaaa
bbbbbbbbbbbbb
cccccccccccc
服务器端接收:
aaaaaaaaaaabbb
bbbbbbbbbcccccc
cccccccccccccc
大概就是这样。为什么会这样呢?
要是想让他发送和接收是一样的顺序,
该怎么办呢?
另外,
连接建立以后,
客户端断开连接
使用的是 this.sock.Close();
然后直接服务器端和客户端程序都自动关闭了,
网上说,牵扯到SIGPIPE信号,需要捕捉错误,
就在服务器端和客户端加了 try catch,其实客户端牵扯到得代码基本都有try和catch
然后客户端再断开连接的时候,
服务器端没有终止,是捕捉到了错误,但是客户端依旧直接终止。
这个情况改造怎么处理呢??
请过往的大神们给点指点啊