简单的网络编程例子

下面是两个C/S架构的基于不同通讯协议的简单例子。

1TCP程序实现

TCP程序的开发使用ServerSocketSocket类完成服务端和客户端的开发。

运行时先要启动服务器端,然后启动客户端。

单线程:

服务器端:

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.ServerSocket;

import java.net.Socket;

 

public class EchoServer {

    public static void main(String[] args)throws Exception

    {

       ServerSocket server=new ServerSocket(8888);//创建一个Socket,绑定到8888端口

       Socket client=null;//表示连接的客户端

       boolean flag=true;

       while(flag)

       {

           System.out.println("等待客户端连接。。。。。");

           client=server.accept();//等待并接受客户端的Socket连接

           BufferedReader buf=new BufferedReader(new InputStreamReader(client.getInputStream()));

          

           //得到客户端的输出流

           PrintStream pout=new PrintStream(client.getOutputStream());

          

           boolean temp=true;

           while(temp)//循环接收用户输入的内容并回应

           {

              String str=buf.readLine();

              if(str==null||"".equals(str))

              {

                  temp=false;

                  break;

              }

              else if("bye".equals(str))

              {

                  temp=false;

                  break;

              }

              pout.println("ECHO:"+str);//回送信息

           }

           pout.close();

           client.close();

       }

       server.close();

    }

}

 

客户端:

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.Socket;

 

public class EchoClient {

    public static void main(String[] args)throws Exception

    {

       Socket client=new Socket("localhost",8888);//创建一个Socket连接,连接到localhost:8888

       BufferedReader input=new BufferedReader(new InputStreamReader(System.in));

       BufferedReader buf=null;

       buf=new BufferedReader(new InputStreamReader(client.getInputStream()));

      

       PrintStream out=new PrintStream(client.getOutputStream());

       boolean flag=true;

       while(flag)

       {

           System.out.println("请输入要发送的内容:<span style="font-size: 10pt; color: #2a00ff; font-family: "Courier New%2

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值