当前位置: 技术问答>java相关
急!怎么不成功?关于Socket!
来源: 互联网 发布时间:2015-01-05
本文导语: 我的客户端程序连接一个Internet上的主机: Socket clientSocket = new Socket("somehost", 6000);//建立clientServer连接 然后: InputStream inStream = clientSocket.getInputStream(); int numBytes = 0; while (true) { numBytes = inStream.read(re...
我的客户端程序连接一个Internet上的主机:
Socket clientSocket = new Socket("somehost", 6000);//建立clientServer连接
然后:
InputStream inStream = clientSocket.getInputStream();
int numBytes = 0;
while (true) {
numBytes = inStream.read(readBuffer);
if ( numBytes != -1 ){
System.out.println("I'm successful!");
break;
}
}
本应该得到回应的提示("I'm successful!"),但是实际情况下什么都没得到,
这是为什么?
(主机在该端口的服务肯定是正常开着的,且在客户端连接上去后肯定会自动返回信息的。)
是不是客户端不能用Socket连接呀?那该用什么、怎么用啊?!
Socket clientSocket = new Socket("somehost", 6000);//建立clientServer连接
然后:
InputStream inStream = clientSocket.getInputStream();
int numBytes = 0;
while (true) {
numBytes = inStream.read(readBuffer);
if ( numBytes != -1 ){
System.out.println("I'm successful!");
break;
}
}
本应该得到回应的提示("I'm successful!"),但是实际情况下什么都没得到,
这是为什么?
(主机在该端口的服务肯定是正常开着的,且在客户端连接上去后肯定会自动返回信息的。)
是不是客户端不能用Socket连接呀?那该用什么、怎么用啊?!
|
首先你是通过代理上网还是通过拨号?
如果拨号的话应该可以的。
如果代理的话估计用socket不行,你可以用java.net.URL类和java.net.URLConnection类来访问,当然要在系统属性中指定代理服务器和端口.
something like:
URL url1=new URL("www.sina.com.cn:80");
System.getProperties().setProperty("proxySet","true");
System.getProperties().setProperty("proxyHost","代理服务器");
System.getProperties().setProperty("proxyPort","80");
URLConnection urlcon=url1.openConnection();
DataInputStream dis=new DataInputStream(urlcon.getInputStream());
while((msg=dis.readLine())!=null){
System.out.println(msg);
}
论坛上有关于这方面的资料可以查找。
如果拨号的话应该可以的。
如果代理的话估计用socket不行,你可以用java.net.URL类和java.net.URLConnection类来访问,当然要在系统属性中指定代理服务器和端口.
something like:
URL url1=new URL("www.sina.com.cn:80");
System.getProperties().setProperty("proxySet","true");
System.getProperties().setProperty("proxyHost","代理服务器");
System.getProperties().setProperty("proxyPort","80");
URLConnection urlcon=url1.openConnection();
DataInputStream dis=new DataInputStream(urlcon.getInputStream());
while((msg=dis.readLine())!=null){
System.out.println(msg);
}
论坛上有关于这方面的资料可以查找。
|
我想可能是安全方面的原因,你是不是在applet里连接到第三方的主机了?
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。