java 网络编程step by step.doc_第1页
java 网络编程step by step.doc_第2页
java 网络编程step by step.doc_第3页
java 网络编程step by step.doc_第4页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Java网络编程step by step2011-7-23 起步:做个简单的tcp协议的网络编程:即一对一的信息发送先来看一下tcp的socket的网络编程的一些步骤:(孙鑫老师课件的ppt)对于一个网络编程的程序通常是客户端和服务器端两个线程(无论是不是写在同一个类中),先写服务器端的程序: 1创建ServerSocket的一个对象,一般绑定一个端口 2 调用accept(),监听连接请求,如没有连接则会发送堵塞,否则就会产生一个socket(连接服务器成功的socket) 3 对于一般的通信,服务器可以接收一些信息,而同时可以向客服端发送信息。这就要求我们可以将提取socket的信息和发送一些信息给socket。4 关闭套接字(包括服务器套接字和accpet()返回的套接字)。对于客户端就没这么麻烦,因为客户端就是需要通过IP和端口(Port)连接到服务器后就相当于接通了电话,可以直接通信了。看看上面孙鑫老师的ppt就不在赘述了。开始编写一些简单的程序了吧,这里全部采用的是控制台编程(自己也可以根据自己的设计做一个简单的界面)代码:服务器端/头文件我给删除了 用eclipse工具可以很容易解决这个问题的public class server private Socket socket;private ServerSocket serverSocker;public server() try serverSocker=new ServerSocket(9000);/System.out.println(服务器套接字创建成功);System.out.println(服务器等待接入);socket=serverSocker.accept();receive(socket);close(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();private void receive(Socket s) try String host=s.getInetAddress().getHostName();/得到主机名DataInputStream in=new DataInputStream(s.getInputStream();String info=in.readUTF();System.out.println(+host+说+info); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();public static void main(String args) new server();private void close() / TODO Auto-generated method stubtry socket.close();serverSocker.close(); catch (IOException e) / TODO Auto-generated catch blockJOptionPane.showMessageDialog(null, 关闭出现异常);在构造函数中创建服务器套接字和通过accept()来监听与服务器的请求套接字。在receive()函数中则是通过getInputStream()来获得输入流(即客户端的输出信息流)Close()函数来关闭套接字.这就相当于电话局的设置装好了,而我们要的是两者能够通信,那么久需要客户的程序,应为在服务器端的程序中accept()就一直在等待着客户端的请求,如没有请求就发生堵塞程序只运行到accept()就会停止的。客服端public class client private Socket s;public client() try s=new Socket(127.0.0.1,9000);send(hello);/发送hello给服务器端 catch (UnknownHostException e) / TODO Auto-generated catch blocke.printStackTrace(); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();private void send(String info) try DataOutputStream out=new DataOutputStream(s.getOutputStream();out.writeUTF(info); catch (IOException e) / TODO Auto-generated catch blocke.printStackTrace();public static vo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论