黑马程序员技术交流社区
标题:
TCP服务端获取客户端数据问题
[打印本页]
作者:
应佳锋
时间:
2012-4-7 22:55
标题:
TCP服务端获取客户端数据问题
ServerSocket ss=null;
try {
ss = new ServerSocket(10003);
Socket s=null;
while (true)
{
s= ss.accept();
InputStream is = s.getInputStream();
byte[] buf = new byte[1024];//这里的1024改成is.available()的时候 会出现有时候是无法接受信息的 有时候是 可以接受信息的
int count = is.read(buf);
System.out.println("服务器>>>>>" + new String(buf, 0, count));
OutputStream os = s.getOutputStream();
os.write("shoudao".getBytes());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally
{
try {
ss.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
以上是服务端代码
try {
Socket s=new Socket("192.168.1.102",10003);
OutputStream os= s.getOutputStream();
os.write("哈哈".getBytes());
os.close();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
以上是 客户端代码 这样写是正常的 看注释
直接点 问题是出在is.available() 为什么有时候是无法得到数据的长度 求专业回答 本人从刚学习网络编程 学习完了UDP在研究 TCP
作者:
pray
时间:
2014-4-26 04:45
楼主出门来财,儿孙满堂!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2