电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

TCP聊天程序与多线程TCP

TCP聊天程序与多线程TCP_第1页
1/15
TCP聊天程序与多线程TCP_第2页
2/15
TCP聊天程序与多线程TCP_第3页
3/15
客户端的 Socket 下面是一个典型的创建客户端 Socket 的过程。try{Socket socket=new Socket("127.0.0.1",4700); //127.0.0.1 是 TCP/IP 协议中默认的本机地址}catch(IOException e){System.out.println("Error:"+e);}这是最简单的在客户端创建一个 Socket 的一个小程序段,也是使用 Socket 进行网络通讯的第一步。服务器端的 ServerSocket 下面是一个典型的创建 Server 端 ServerSocket 的过程。ServerSocket server=null;try {server=new ServerSocket(4700); //创建一个 ServerSocket 在端口 4700 监听客户请求}catch(IOException e){System.out.println("can not listen to :"+e);}Socket socket=null;try {socket=server.accept(); //accept()是一个堵塞的方法,一旦有客户请求,它就会返回一个 Socket 对象用于同客户进行交互}catch(IOException e){System.out.println("Error:"+e);} 以上的程序是 Server 的典型工作模式,只不过在这里Server 只能接收一个请求,接受完后 Server 就退出了。实际的应用中总是让它不停的循环接收,一旦有客户请求,Server 总是会创建一个服务线程来服务新来的客户,而自己继续监听。程序中 accept()是一个堵塞函数,所谓堵塞性方法就是说该方法被调用后,将等待客户的请求,直到有一个客户启动并请求连接到一样的端口,然后 accept()返回一个对应于客户的 socket。这时,客户方和服务方都建立了用于通信的 socket,接下来就是由各个 socket 分别打开各自的输入/输出流。打开输入/出流 类 Socket 提供了方法 getInputStream ()和 getOutStream()来得到对应的输入/输出流以进行读/写操作,这两个方法分别返回 InputStream 和 OutputSteam类对象。为了便于读/写数据,我们可以在返回的输入/输出流对象上建立过滤流,如DataInputStream、DataOutputStream 或 PrintStream 类对象,对于文本方式流对象,可以采纳 InputStreamReader 和OutputStreamWriter、PrintWirter 等处理。 例如:PrintStream os=new PrintStream(new BufferedOutputStreem(socket.getOutputStream()));DataInputStream is=new DataInputStream(socket.getInputStream());PrintWriter out=new PrintWriter(socket.getOutStream(),true);BufferedReader in=new ButfferedReader(new InputSteramReader(Socket.getInputStream()));输入输出流是网络编程的实质性...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

TCP聊天程序与多线程TCP

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部