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

        String ip=s.getInetAddress().getHostAddress();
        int port=s.getPort();

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

        byte[] buf=new byte[1024];

        int len=in.read(buf);
        String text=new String(buf,0,len);
        System.out.println(ip+":"+port+":"+text);

        //使用客户端的socket对象传输数据回客户端
        OutputStream out=s.getOutputStream();
        out.write("收到".getBytes());

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

    }

}

clentDemo

package cn.stat.p4.ipdemo;

import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
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);
        //获取流对像
        OutputStream out=socket.getOutputStream();

        out.write("我又来了".getBytes());

        //读取服务端返回数据
        InputStream in=socket.getInputStream();
        byte[] buf=new byte[1024];

        int len=in.read(buf);

        String text=new String(buf,0,len);
        System.out.println(text);

        socket.close();

    }

}
时间: 2024-10-12 18:39:29

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

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 * @t

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实

Java TCP使用Socket进行网络文件传送(5)

作者 : 卿笃军 原文地址:http://blog.csdn.net/qingdujun/article/details/39324737 本文演示,TCP使用Socket进行网络文件传送,实现将客户端的文件upload.txt上传到服务器. 1)客户端,上传文件upload.txt,并接受服务器反馈上传成功与否消息. 2)服务器,接受客户端文件,将接收到的文件命名为Rece.txt,同时给客户端发送消息"上传成功". 客户端,代码如下: package upload.file.cli