java下tcp的socket连接案例

package cn.stat.p4.ipdemo;

import java.io.BufferedReader;
import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class serverDemo {

    /**
     * @param args
     * @throws IOException
     */
    public static void main(String[] args) throws IOException {
        //创建服务器对像
        ServerSocket ss=new ServerSocket(1000);
        //获取连接过来的客户端对像
        Socket s=ss.accept();

        //通过socket对象获取输入流,要读取客户端发过来的数据\
        BufferedReader bufin=new BufferedReader(new InputStreamReader(s.getInputStream()));

        //4,获取socket的输出流,并装饰。
                PrintWriter out = new PrintWriter(s.getOutputStream(),true);

        String line=null;

        while((line=bufin.readLine())!=null)
        {
            System.out.println(line);
            //发送
            out.println(line.toUpperCase());

        }    

        s.close();
        ss.close();        

    }

}
package cn.stat.p4.ipdemo;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class clentDemo {

    /**
     * @param args
     * @throws IOException
     * @throws UnknownHostException
     */
    public static void main(String[] args) throws UnknownHostException, IOException {
        //创建连接对像
        Socket socket=new Socket("192.168.1.103",1000);

        //获取键盘输入
        BufferedReader bufr=new BufferedReader(new InputStreamReader(System.in));

        //获取输出流对像
        PrintWriter pw=new PrintWriter(socket.getOutputStream(),true);
        //获取返回数据
        BufferedReader bufin=new BufferedReader(new InputStreamReader(socket.getInputStream()));
        String line=null;

        while((line=bufr.readLine())!=null)
        {
            if(line.equals("over"))
                break;
            System.out.println(line);
            pw.println(line);

            String uptext=bufin.readLine();
            System.out.println(uptext);

        }

        socket.close();

    }

}
时间: 2024-10-24 11:41:21

java下tcp的socket连接案例的相关文章

java下tcp的socket连接

serverDemo package cn.stat.p4.ipdemo; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class serverDemo { /** * @param args * @throws IOException */ publ

Java系列讲座一:TCP方式Socket通信案例讲解

开发网络通信软件,如QQ,阿里旺旺等即时通讯软件时,Socket通信是必备的基础知识,今天跟大家谈谈Socket通信中TCP方式通信的软件开发步骤及主要代码讲解: 第一步:开发服务器端程序Server.java,源代码如下: package T16; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; imp

Linux下tcp协议socket的recv函数返回时机分析(粘包)

http://www.vckbase.com/index.php/wv/10http://blog.csdn.net/zlzlei/article/details/7689409 文章一: 当前在网络传输应用中,广泛采用的是TCP/IP通信协议及其标准的socket应用开发编程接口(API).TCP/IP传输层有两个并列的协议:TCP和UDP.其中TCP(transport control protocol,传输控制协议)是面向连接的,提供高可靠性服务.UDP(user datagram pro

TCP的socket连接

1 package newtest; 2 3 import java.io.BufferedReader; 4 import java.io.IOException; 5 import java.io.InputStreamReader; 6 import java.net.InetSocketAddress; 7 import java.net.Socket; 8 import java.nio.ByteBuffer; 9 import java.nio.channels.Channel; 1

Java的TCP网络编程

服务端代码: package socket; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.net.ServerSocket; import java.net.Socket; /** * 聊天室服务端 * @author 小明 * */ public class Server {

外网客户端访问校园内网的服务器——socket连接

在做客户端与服务器的socket连接并发送数据应用中,通常有以下四种情况: 1).客户端在内网,服务器在内网. 对于这种情况,只需要用服务器的内网IP即可. 2).客户端在外网,服务器在内网. 对于这种情况,服务器可采用花生壳软件来进行外网IP与内网IP的映射. 3).客户端在内网,服务器在外网. 对于这种情况,只需要用服务器的外网IP即可. 4).客户端在外网,服务器在外网. 对于这种情况,只需要用服务器的外网IP即可. 从分析中可以看出,只有情况二是特殊的,由于服务器在内网,而客户端在外网,

运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接

运用JAVA的concurrent.ExecutorService线程池实现socket的TCP和UDP连接 最近在项目中可能要用到socket相关的东西来发送消息,所以初步研究了下socket的TCP和UDP实现方式,并且结合java1.5的concurrent.ExecutorService类来实现多线程. 具体实现方式见代码: 一.TCP方式: 1.服务端实现方式: TCP的服务端实现方式主要用到ServerSocket类,接收等待客户端连接的方法是accept(); 代码如下:类Sock

Java TCP/UDP socket 编程流程总结

最近正好学习了一点用java socket编程的东西.感觉整体的流程虽然不是很繁琐,但是也值得好好总结一下. Socket Socket可以说是一种针对网络的抽象,应用通过它可以来针对网络读写数据.就像通过一个文件的file handler就可以都写数据到存储设备上一样.根据TCP协议和UDP协议的不同,在网络编程方面就有面向两个协议的不同socket,一个是面向字节流的一个是面向报文的. 对socket的本身组成倒是比较好理解.既然是应用通过socket通信,肯定就有一个服务器端和一个客户端.

基于Java的TCP Socket通信详解(计算机端/Android手机端)

TCP Socket通信是一种比较常用的基于连接的网络通信方式.本文通过Java实现TCP Socket通信,并将其用于计算机端.Android手机端,同时做到代码规范化,实现代码最大化复用. 本文代码可在GitHub下载,建议对照源码阅读文章 https://github.com/jzj1993/JavaTcpSocket TCP连接的建立 客户端和服务器间通过三次握手建立TCP连接.在Java中,连接建立完成后,服务器端和客户端分别获取到一个Socket实例,之后就可以通过这个Socket实