Java网络编程(基于TCP的socket编程)

来源:互联网 发布:mac 从前往后删除 编辑:程序博客网 时间:2024/05/21 11:13

基于TCP的socket编程

一、步骤

服务器端程序的编写:

1、调用ServerSocket(int port)创建一个服务器端套接字,并绑定到指定端口上;

2、调用accept(),监听连接请求,如果客户端请求连接,则接受连接,返回通信套接字;

3、调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收;

4、最后关闭通信套接字。


客户端程序的编写:

1、调用Socket()创建一个流套接字,并连接到服务器端;

2、调用Socket类的getOutputStream()和getInputStream获取输出流和输入流,开始网络数据的发送和接收。

3、最后关闭通信套接字。


二、代码实现

Server.java

<span style="font-size:14px;">package Server2Client;import java.io.InputStream;import java.io.OutputStream;import java.net.ServerSocket;import java.net.Socket;public class Server {public static void main(String[] args) {// TODO Auto-generated method stubserver();}public static void server(){    try {      ServerSocket ss=new ServerSocket(6000);      Socket s = ss.accept();      OutputStream os=s.getOutputStream();      InputStream is=s.getInputStream();      os.write("Hello".getBytes());      byte[] buf=new byte[100];      int len=is.read(buf);      System.out.println(new String(buf,0,len));      os.close();;      is.close();      s.close();      ss.close();          }    catch (Exception ex) {      ex.printStackTrace();    }  }}</span>


Client.java

<span style="font-size:14px;">package Server2Client;import java.io.InputStream;import java.io.OutputStream;import java.net.InetAddress;import java.net.Socket;public class Client {public static void main(String[] args) {// TODO Auto-generated method stubclient();} public static void client()  {    try {      Socket s=new Socket(InetAddress.getByName(null),6000);      OutputStream os=s.getOutputStream();      InputStream is=s.getInputStream();      byte[] buf=new byte[100];      int len=is.read(buf);      System.out.println(new String(buf,0,len));      os.write("Hello,this is wangwu".getBytes());      os.close();;      is.close();      s.close();    }    catch (Exception ex) {      ex.printStackTrace();    }  }}</span>

0 0