ServerSocket与Socket,URL

工作原理:
1.服务器程序创建一个ServerSocket,然后调用accept方法等待客户来连接。
2.客户端程序创建一个Socket并请求与服务器建立连接。
3.服务器接受客户端的链接请求,并建立一个新的Socket与该客户建立连接。
4.建立连接的两个Socket在一个单独的线程(由服务器程序创建)上对话。
5.服务器开始等待新的链接请求,当新的连接请求到达时,重复步骤2到5的过程。

ServerSocket构造函数:
public ServerSocket()
public ServerSocket(int port)
public ServerSocket(int port,int backlog)连接数
public ServerSocket(int port,int backlog,InetAddress bindAddr)ip地址
close()关闭
accept()等待客户端请求

Socket构造函数:
public Socket()
public Socket(String host,intport)
public Socket(InetAddress address,intport)

getInputStream()和getOutputStream()

telnet测试服务器  telnet ip port
netstat -na命令测试TCP正在使用的端口。

eg:
   import java.net.*;
   import java.io.*;
   public class TcpServer
{
      public static void main(String[] args)
     {
          try
         {
          ServerSocket ss=new ServerSocket(8001);
          Socket s=ss.accept();
          InputStream in=s.getInputStream();
          OutputStream out=s.getOutputStream();
          out.write("hello client!".getBytes());
          byte[] b=new byte[1024];
          int len=in.read(b);
          System.out.println(new String(b,0,len));
          in.close();
          out.close();
          s.close();
          ss.close();
        
         }catch(Exception e){ }
      }
 }
包装流:
InputStream in=socket.getInputStream();
OutputStream out=socket.getOutputStream();

BufferedReader br=new BufferedReader(new InputStreamReader(in));
System.out.println(br.readLine());//从服务器上读取数据

BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
String keyword=bf.readLine();//从键盘上读出

PrintWriter pw=new PrintWriter(out);
pw.println(keyword);//发送到服务器端

对象流:
ObjectOutputStream oos=new ObjectOutputStream(out);
oos.writeObject(对象);

ObjectInputStream ois=new ObjectInputStream(in);
类 对象=(类型转换)ois.readObject();

 

URL(Uniform Resource Locator)
组成:协议、主机名、端口号、资源名。http://www.it315.org:8080/index.html
构造函数:
public URL(String spec)
public URL(String protocol,String host,int port,String file)
public URL(String protocol,String host,int port,String file,URLStreamHancller handler)
public URL(URL context,String spec)
方法:
getProtocol getHost getPort getFile
openConnection方法返回URLConnection
import java.net.*;
import java.io.*;
public class GetGoogle
{
   public statc void main(String[] args)
  {
      public static void getContenByLanguage(String country)
     {
        URL urlGoogle=new URL("http://www.google.com");
       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值