ServerSocket可以监听由URLConnection建立连接的客户端吗?要是能URL url = new URL("地址怎么写?")。 Socket和URLConnection之间有什么区别?
解决方案 »
- java socket实现两个客户段或多个客户端之间通信
- Oracle中java存储过程java.security.AccessControlException
- 怎么样才能是JPanel一开始在JFrame里显示出来
- 难题,难题!大家来看看!
- ajax如何从servlt取值。。。大家帮忙哦
- 小弟软件专业分方向,急需建议!
- 请教一个登陆界面的问题
- 当菜单已经释放了,加载在菜单上的actionListener需不需要释放
- 散分,讨论一下:在单一的jvm上运行的程序建立自己的JNDI服务(为自己服务)可行吗?
- 各种awt组件应使用何种事件监听?我晕了
- 求各位帮帮忙,谢谢了!
- 在java 怎么得到鼠标位置,收到鼠标事件(单击,双击,左击,移动...等事件)
ServerSocket是socket接口,提供的是Tcp服务
两个用处不同
ServerSocket当然可以监听URLConnection建立连接的客户端,不过要自己通过tcp实现http协议
URL这样写:"http://www.sina.com.cn"
public class ServerURLSocket{
private Socket socket;
private ServerSocket server ;
public ServerURLSocket(){
try {
server = new ServerSocket(56);
System.out.println("Server start ...");
socket = server.accept();
parseInput();
} catch (IOException e) {
e.printStackTrace();
}
}
private void parseInput(){
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String str = reader.readLine();
System.out.println("write : "+str);
reader.close();
socket.close();
//DataInputStream in = new DataInputStream(socket.getInputStream());
//System.out.println("write : "+in.readUTF());
} catch (IOException e) {
e.printStackTrace();
System.out.println("异常 1 "+e);
}
}
public static void main(String[] arg){
new ServerURLSocket();
}
}
**********为什么收不到URLConnection客户端发送的请求?
=========================================
客户端:
public class ClientURLSocket {
private URL url ;
private URLConnection connect;
public ClientURLSocket(){
try{
url = new URL("http://127.0.0.1:56/server/overview-tree.html");
System.out.println("Client start ...");
connect = (URLConnection)url.openConnection();
//connect.setRequestProperty("a","b");
connect.setDoOutput(true);
connect.connect();
DataOutputStream outStream = new DataOutputStream(connect.getOutputStream());
System.out.println(connect.getURL().getPath());
outStream.writeBytes("cdef");
outStream.flush();
System.out.println("client:"+outStream.size());
Thread.sleep(5000L);
outStream.close();
}catch(Exception e){
System.out.println("URL 异常 : "+e);
}
}
public static void main(String [] s){
new ClientURLSocket();
}
}