网络编程2

网络编程(二)socket编程

  • 什么是Socket:Socket是java中的一个类,封装了访问目标的IP地址与端口号。还封装了连接目标主机的方法:connect(),Socket其实是网络交互的一种协议

- Socket编程的基本架构

1>服务端
 ServerSocket ss=new ServerSocket(8888);
 Socket s=ss.accept();  //阻塞
 s.getInputStream()
 s.getOutputStream()

2>客户端
 Socket socket=new Socket("127.0.0.1",8888); 
 socket.getOutputStream()
 socket.getInputStream()

- 工作流程:工作流程是有图的,但是暂时没有时间去找,以后有时间放上来,现在先简单说一下。
- 服务端的基本过程是开启一个ServerSocket,同时指定端口号8888,然后启动accept方法,这个方法是阻塞的,在没有接收到请求前不会跳到下一句,在接收到请求后,跳到下一句新开一个线程来处理客户端的请求
- 客户端的工作流程比较简单,直接发送请求,然后在需要发送的时候通过outputstream发送数据,同时开启一个线程来接受inputstream接收的数据,还见过一种通过available来阻塞等待数据的办法,不推荐。
- 废话不多说,上代码:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值