美文网首页
传统的网络编程思路和方法

传统的网络编程思路和方法

作者: 大海_0803 | 来源:发表于2020-01-13 08:35 被阅读0次

网络编程需要客户端和服务端:

服务端的步奏如下:

1. 创建 ServerSocket

2. 绑定端口ServerSocket.bind(8899)

3. Socket socket=serversocket.accept()

注意: 这里accept方法会阻塞,等待客户端的连接,如果有客户端的连接,就返回一个socket的对象。这里面的代码有问题,如果步骤123都放在同一个线程中执行,那么就只能接受一个客户端的请求。等一个客户端的请求结束之后,才会处理这个客户端的请求。所以这里的代码不能这么写,针对步奏三。

我们常见的写法是这样的。

while(true){

Socket socket=serversocket.accept()

new thread(socket){

socket.getInputstream();

}

}

//这样的一个好处就是一个请求回来兴起了一个线程去处理,8899端口又可以接受新的连接。但这种方法很明显,它的线程数量是有限的。并不能无限创建线程。

上边三部可以简写为SBA(Server Socket, Bind, Accept傻逼A,便于记忆)

客户端:

那客户端怎么写

客户端的写法是

Socket =new Socket(localhost, 8899);

socket.connect()

客户端一般不使用多线程。,当然客户端如果需要连接多个主机也可以使用。这样客户端在向主机8899端口发起连接以后,主机的socket在自己空闲的端口中任选一个和客户端进行通信,这样一个socket链接就建立成功,后续的通信就可以正常进行,客户端和服务端分别采用getInputstream()。来获取客户端发送的数据流。

相关文章

  • 传统的网络编程思路和方法

    网络编程需要客户端和服务端: 服务端的步奏如下: 1. 创建 ServerSocket 2. 绑定端口Server...

  • nameko中的事件(消息)触发~nameko系列之五

    基于事件或消息的处理,是一种编程方法,属于异步处理,与传统的同步编程思路大不一样。nameko的eventhand...

  • 网络不通排查思路和方法

    从用户的电脑到路由器,这从逻辑上来看就是一条线,但是这条线经过了好多节点,如果只是一台电脑上不了网,那一定是这条线...

  • 0.netty基本概念

    传统的网络编程 在传统的java网络编程中,服务端一般构建一个ServerSocket用来监听接收客户端的请求,每...

  • 深度神经网络

    神经网络和深度学习目前提供了针对图像识别,语音识别和自然语言处理领域诸多问题的最佳解决方案。传统的编程方法中,我们...

  • 无标题文章

    神经网络和深度学习目前提供了针对图像识别,语音识别和自然语言处理领域诸多问题的最佳解决方案。传统的编程方法中,我们...

  • 谷歌内部分享:深度神经网络

    神经网络和深度学习目前提供了针对图像识别,语音识别和自然语言处理领域诸多问题的最佳解决方案。 传统的编程方法中,我...

  • Matlab编程思想的一点总结

    Matlab编程思想的一点总结 矢量化编程 基本思路: 正向思路和逆向思路相结合,矢量化编程,分块 编程步骤 1....

  • 12.15

    昨天 主持人如何更好的成长 剧本评测思路整理 传统教育和新型教育 出书的思路 ————— 今天 有个网络电影要看 ...

  • 这本书是关于什么的(二)

    神经网络是已经发明的最美丽的编程范式之一。在传统的编程方法中,我们告诉计算机做什么,把大问题分解成小问题,精确定义...

网友评论

      本文标题:传统的网络编程思路和方法

      本文链接:https://www.haomeiwen.com/subject/rwkgactx.html