黑马程序员技术交流社区
标题:
TCP客户端问题
[打印本页]
作者:
王小刚
时间:
2012-4-25 13:08
标题:
TCP客户端问题
//TCP客户端
import java.net.*;
import java.io.*;
class TCPclient
{
public static void main(String[] args)
{
try
{
Socket s = new Socket("192.168.1.101",10005);
BufferedReader bufr = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bufOut = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
String line = null;
while ((line=bufr.readLine())!=null)
{
if ("over".equals(line))
break;
bufOut.write(line);
bufOut.newLine();
bufOut.flush();
String str = bufIn.readLine();
System.out.println(str);
}
bufr.close();
s.close();
}
catch (Exception e)
{
System.out.println("over");
}
}
}
为什么运行结果是 over ?
而不是等待键盘录入的呢 , 找了很久,就是没找到问题所在。
作者:
徐鑫
时间:
2012-4-25 13:13
TCP协议是面向连接的,你服务端(ServerSocket)没有开,先执行客户端它连不到服务,就要有连接超时异常,然后就报"over"了
你应该先开服务端!!!
作者:
应佳锋
时间:
2012-4-25 13:24
你用的是TCP 的客户端
这个程序首先会进行三次握手也就是 去查看有没有这个服务器打开着
你的程序寻找不到属于 IP地址为192.168.1.101",端口号:10005的服务器 他当然报错啦
作者:
王小刚
时间:
2012-4-25 13:35
谢谢,原来是这个原因呀,我查代码查了好久就是没找到错误...
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2