黑马程序员技术交流社区
标题:
零基础,新手求教?
[打印本页]
作者:
金肖
时间:
2012-5-10 09:26
标题:
零基础,新手求教?
//1,创建服务端流
ServerSocket ss = new ServerSocket(10006);
Socket s = ss.accept(); //这句话是什么意思呢?
作者:
谭景宾
时间:
2012-5-10 09:51
Socket s = ss.accept(); //accept()是接收客户端请求,返回一个客户端对象
作者:
小小企鹅
时间:
2012-5-10 09:55
本帖最后由 小小企鹅 于 2012-10-27 22:35 编辑
要连接到其他的机器上,我们会需要Socket的连接。Socket是个代表两台机器之间网络连接的对象(java.net.Socket)。
Socket s= new Socket("196.164.1.103",10006);//ip地址和tcp端口号
1服务器应用程序对特定端口创建ServerSocket:
ServerSocket serverSock = new ServerSocket(10006);//服务器应用程序开始监听来自10006端口的客户端请求
2服务器创建出与客户端通信的新Socket:
Socket s = serverSock.accept();
accept()方法会在等待用户的Socket连接时闲置,当用户连接时,此方法会返回一个Socket以便与客户端通信。
作者:
杨鹏
时间:
2012-5-10 10:02
TCP接收和发送数据都是通过Socket对象中的输入和输出流来完成的,可以通过Socket对象的getInputStream()和getOutputStream()方法来获取Socket中的输入输出流,服务端建立ServerSocket服务后,通过ServerSocket对象的accept()方法可以获取客户端的Socekt对象,再用获取Socekt对象的方法就可以接收和发送数据了。楼主提供的代码Socket s = ss.accept()就是获取客户端的Socket对象。
作者:
徐然
时间:
2012-5-10 10:23
Socket s = ss.accept(); 是通过ServerSocket中的accept()方法获取连接过来的客户端对象,在这句话中也就是ss调用accept()方法,返回 一个Socket
按照毕老师的讲解,在TCP传输时,客户端A发过来的数据,服务端处理并反馈给客户端A,而不是反馈给客户端B,
那么如果要原路把数据返回,就需要知道是谁发过来的,而反馈数据时,最好的办法就是哪个客户端发过来的数据,就再用这个客户端返回去,就不会数据错乱
于是就有了accept()获取连接过来的客户端对象方法。
说得全是大白话,希望你能懂
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2