socket TCP连接好后客户端读取数据的问题
程序图片在1楼,发帖上传不了图片。 根据《Unix网络编程》在Linux虚拟机中编写了TCP连接程序,运行后能够正常连接。 客户端程序中注释掉的那里,如果使用read()或是my_read()函数,服务端能正常接收并显示,客户端只能显示从服务端回射字符串的第一个字母。 客户端程序中注释掉那里,若果使用包裹函数readline(),服务端只能接收客户端发送的第一个字符串并显示,对回射的字符串客户端上无法显示任何东西。 看着书中包裹函数readline()也找不出什么问题
my_read里 这句话*ptr=*read_ptr++,只指向一个字符 ptr=read_ptr++
my_read函数好像就是一次只返回一个字符,然后readline是返回接收到的字符串,现在我的问题是,客户端调用my_read能读到每一个回射字符串的第一个字符,但是调用readline后就出现我说的状况,怀疑是程序阻塞在了readline里,但是研究readline函数实在看不出哪里出了问题
|