网络编程--Socket编程TCP

本文介绍了Java中Socket编程的基础知识,包括Socket和ServerSocket类的基本使用方法,并提供了客户端和服务端的简单示例代码。

1. 两个应用程序通过一个双向的网络通信连接实现数据交换,每一端为一Socket。

2.java.net包下其中有两个类Socket和ServerSocket。-------TCP连接

  (1)Socket:此类实现客户端套接字(也可以就叫“套接字”)。套接字是两台机器间通信的端点。

  (2)ServerSocket:此类实现服务器套接字。

  (3)TCP和UDP端口,各65536个。

 

简单的获取连接代码如下:

服务器端:

public class TestServer {

 public static void main(String[] args) {
  int num=0;
  try {
   //指定端口号,以便客户端连接
   ServerSocket ss=new ServerSocket(8888);
   //死循环,一直在监听
   while(true){
   //获取客户端连接
   Socket s=ss.accept();
   num++;
   System.out.println("a client "+num+" connect");
   }
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

客户端:

public class TestClient {
 public static void main(String[] args) {
  try {
   Socket s=new Socket("127.0.0.1",8888);
   
  } catch (UnknownHostException e) {
   e.printStackTrace();
  } catch (IOException e) {
   e.printStackTrace();
  }
 }

 

双方传递内容

以客户端向--->服务器端发送内容

服务器端代码:

//指定端口号,以便客户端连接
   ServerSocket ss=new ServerSocket(8888);
   //死循环,一直在监听
   while(true){
   //获取客户端连接
   Socket s=ss.accept();
   //获取客户端传输的内容
   InputStream is=s.getInputStream();
   DataInputStream dis=new DataInputStream(is);
   System.out.println(dis.readUTF());

客户端代码:

//连接服务器端,通过8888端口
   Socket s=new Socket("127.0.0.1",8888);
   //获取输出流
   OutputStream os=s.getOutputStream();
   //包装下
      DataOutputStream dos=new DataOutputStream(os);
      //输出流
    dos.writeUTF("hello server!");

 

 

常用方法

ServerSocket(int port)
          创建绑定到特定端口的服务器套接字。

 

 Socketaccept()          侦听并接受到此套接字的连接。此方法在连接传入之前一直阻塞。

 InetAddress

getInetAddress()
          返回此服务器套接字的本地地址。

 

 Socket(String host, int port)
          创建一个流套接字并将其连接到指定主机上的指定端口号。

 intgetPort()
          返回此套接字连接到的远程端口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值