java socket点对点以及点对面编程实例

和socket编程有关的几个类:

InetAddress

Socket:用在客户端

ServerSocket:用在服务器端

一。点对点通信

服务器端:

package server;
import java.io.*;
import java.net.*;
public class Server {
private int port;
public Server(int port){
   this.port=port;
   start();
}
//将从客户端收到的信息转化为大写的
public String process(String line){
   return line.toUpperCase();
}
public void start(){
   try{
     //根据端口创建套接字
     ServerSocket myscoket=new ServerSocket(port);
     //显示连接信息
     System.out.println("服务器启动完成,监听端口在"+port);
     System.out.println("正在等待客户连接.........");
     //挂起等待客户的请求
     Socket connection=myscoket.accept();
         //测试
         System.out.println("客户发来连接请求.........");
     //获取读取客户端的数据流
     BufferedReader in=new BufferedReader(new InputStreamReader(connection.getInputStream()));
     //获取写往客户端的数据输出流,true表示自动刷新
     PrintWriter out=new PrintWriter(connection.getOutputStream(),true);
     //向客户发送欢迎的信息
     out.println("您好,服务器连接成功!");
     out.println("输入bye断开与服务器的连接");
     boolean done=false;
     while(!done){
       //读取客户端的内容
       String line=in.readLine();
       if(line==null){
         done=true;
       }else{
         //从服务器端显示客户端发送的信息
         System.out.println("从客户端来的内容"+line);
         //信息处理
         String message=process(line);
         //向客户端发送信息
         out.println("从服务器端口发送的信息"+message);
         if(line.trim().equals("BYE"))
           done=true;
       }
     }
     //关闭通信
     connection.close();
   }catch(Exception e){
     System.out.println(e);
   }
}
}
package server;
public class ServerDemo {
   /**
   * @param args
   */
   public static void main(String[] args) {
     // TODO Auto-generated method stub
if(args.length!=1){
   System.out.println("运行方式:java Server <端口号>");
   return;
}
try{
   //获得端口号
   int port=Integer.parseInt(args[0]);
   Server myserver=new Server(port);
}catch(Exception e){
   System.out.println(e);
}
   }
}

时间: 2025-01-31 02:13:15

java socket点对点以及点对面编程实例的相关文章

java socket异步短连接单工编程

问题描述 java socket异步短连接单工编程 之前没有接触过socket,现在项目中临时用到socket编程,更奇特的是要求异步短连接单工模式,连接的对方是银行,求各位高手赐我一份完整的源码实例,会有高分酬谢.急用! 解决方案 去看一下NIO或AIO吧,可以使用框架的话使用Netty或Mina效果更佳

Java基于Socket实现网络编程实例详解_java

一,网络编程中两个主要的问题 一个是如何准确的定位网络上一台或多台主机,另一个就是找到主机后如何可靠高效的进行数据传输. 在TCP/IP协议中IP层主要负责网络主机的定位,数据传输的路由,由IP地址可以唯一地确定Internet上的一台主机. 而TCP层则提供面向应用的可靠(tcp)的或非可靠(UDP)的数据传输机制,这是网络编程的主要对象,一般不需要关心IP层是如何处理数据的. 目前较为流行的网络编程模型是客户机/服务器(C/S)结构.即通信双方一方作为服务器等待客户提出请求并予以响应.客户则

Java Socket编程实例(五)- NIO UDP实践_java

一.回传协议接口和UDP方式实现: 1.接口: import java.nio.channels.SelectionKey; import java.io.IOException; public interface EchoProtocol { void handleAccept(SelectionKey key) throws IOException; void handleRead(SelectionKey key) throws IOException; void handleWrite(

Java Socket编程实例(四)- NIO TCP实践_java

一.回传协议接口和TCP方式实现: 1.接口: import java.nio.channels.SelectionKey; import java.io.IOException; public interface EchoProtocol { void handleAccept(SelectionKey key) throws IOException; void handleRead(SelectionKey key) throws IOException; void handleWrite(

java socket编程实例代码讲解_java

1.所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄.应用程序通常通过"套接字"向网络发出请求或者应答网络请求. 操作java socket时用到的最多的三个方法为: accept():主要用于服务器端产生"阻塞",等待客户端的链接请求,并且返回一个客户端的Socket实例: getInputStream():方法主要用来获得网络连接输入,同时返回一个InputStream对象实例: getOutputStream

Java Socket编程实现简单的问候服务_java

本文实例讲解了Java Socket编程实现简单的问候服务的详细代码,供大家参考,具体内容如下 服务器端: 实现一个最简单的Hello服务,打印输出客户端IP地址到控制台,对任何连接的客户端都会发送一串字符(Hello, Java Socket)然后关闭与客户端连接.等待下一个客户端的连接请求到来. 客户端: 实现一个最简单的Socket连接到Hello服务器端,接受服务器端发送过来的字节数据打印并输出内容到控制台. 关键技巧: 由于JAVA中提供非常多的输入与输出流API,导致很多初学者接触J

Java socket编程入门

编程 第一章:学习提示 我适合学习这份教程吗 Socket提供了两台计算机之间进行通讯的机制,在James Gosling注意Java语言之前就已经很闻名了.Java语言使你更简单有效的使用Socket开发而无需了解操作系统的底层机制.大部分讨论Java编码的书籍都没有涉及这一主题,或者是只是"点到为止",留给读者大量的想象空间.这份教程就是让你了解在你的Java代码中如何更有效的使用Socket所需的知识.包含以下内容: •什么是Socket •它位于你的应用程序的哪些地方 •能正常

Java socket编程入门[1]

编程 第一章:学习提示 我适合学习这份教程吗 Socket提供了两台计算机之间进行通讯的机制,在James Gosling注意Java语言之前就已经很闻名了.Java语言使你更简单有效的使用Socket开发而无需了解操作系统的底层机制.大部分讨论Java编码的书籍都没有涉及这一主题,或者是只是"点到为止",留给读者大量的想象空间.这份教程就是让你了解在你的Java代码中如何更有效的使用Socket所需的知识.包含以下内容:•什么是Socket•它位于你的应用程序的哪些地方•能正常运行的

Java Socket聊天室编程(一)之利用socket实现聊天之消息推送_java

相关阅读:Java Socket聊天室编程(二)之利用socket实现单聊聊天室 网上已经有很多利用socket实现聊天的例子了,但是我看过很多,多多少有一些问题存在. 这里我将实现一个比较完整的聊天例子,并解释其中的逻辑. 由于socket这一块比较大,所以我将分出几篇来写一个比较完整的socket例子. 这里我们先来实现一个最简单的,服务器与客户端通讯,实现消息推送的功能. 目的:服务器与客户端建立连接,客户端可以向服务器发送消息,服务器可以向客户端推送消息. 1,使用java建立socke