java之TCP(Socket,serverSocket)实例

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

import org.junit.Test;

public class TestTCP {

	@Test
	public void rend() throws UnknownHostException, IOException{

		Socket socket = new Socket("127.0.0.1",9999);

		int i = (int) (Math.random()*1000);

		String strMessage = "send:"+i;

		System.out.println(strMessage);
		socket.getOutputStream().write(strMessage.getBytes());
		socket.shutdownOutput();

		BufferedReader buffRead = new BufferedReader(new InputStreamReader(socket.getInputStream()));
		String str = buffRead.readLine();
		System.out.println(str);

		buffRead.close();
		socket.close();
		System.out.println("socket.close()");
	}

	@Test
	public void revice() throws IOException{
		ServerSocket serverSocket = new ServerSocket(9999);
		boolean flag = true;

		BufferedReader buffRead = null;
		Socket socket = null;
		while(flag){
			socket = serverSocket.accept();
		    buffRead = new BufferedReader(new InputStreamReader(socket.getInputStream()));
			String str = buffRead.readLine();
			System.out.println(str);

			socket.shutdownInput();

			socket.getOutputStream().write(("revice:"+str).getBytes());

			socket.close();
			System.out.println("socket.close()");
		}

		buffRead.close();

		serverSocket.close();
		System.out.println("serverSocket close!");

	}

}
时间: 2024-10-18 06:47:21

java之TCP(Socket,serverSocket)实例的相关文章

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

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

Java学习---TCP Socket的学习

基础知识 1. TCP协议 TCP是一种面向连接的.可靠的.基于字节流的运输层(Transport layer)通信协议.在简化的计算机网络OSI模型中,它完成第四层传输层所指定的功能,UDP是同一层内另一个重要的传输协议. TCP所提供服务的主要特点:面向连接的传输:端到端的通信:高可靠性,确保传输数据的正确性,不出现丢失或乱序:全双工方式传输:采用字节流方式,即以字节为单位传输字节序列:紧急数据传送功能 TCP支持的服务:文件传送File Transfer:远程登录Remote login:

Linux C++ TCP Socket通信实例

环境:Linux 语言:C++ 通信方式:TCP 下面用TCP协议编写一个简单的服务器.客户端,其中服务器端一直监听本机的6666号端口.如果收到连接请求,将接收请求并接收客户端发来的消息:客户端与服务器端建立连接并发送一条消息. server.cpp 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<string.h> 4 #include<errno.h> 5 #include<sys/type

【Java TCP/IP Socket】TCP Socket通信中由read返回值造成的的死锁问题(含代码)

书上示例 在第一章<基本套接字>中,作者给出了一个TCP Socket通信的例子——反馈服务器,即服务器端直接把从客户端接收到的数据原原本本地反馈回去. 书上客户端代码如下: import java.net.Socket; import java.net.SocketException; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; public class TCPEch

TCP/UDP套接字 java socket编程实例

网络协议七层结构: 什么是Socket? socket(套接字)是两个程序之间通过双向信道进行数据交换的端,可以理解为接口.使用socket编程也称为网络编程,socket只是接口并不是网络通信协议. HTTP协议和Socket的区别 http协议是应用层,其模式是请求-应答,客户端发送请求,服务器端进行响应.传输的数据是原始格式的数据,eg :json.xml.text等数据格式. socket不是协议是接口,socket提供TCP/UDP socket 的实例,供java 或者其他语言操作数

java套接字(socket)实例

客户端socket 流程: 1.连接远程主机 2.发送数据 3.接收数据 4.关闭流与socket连接 实例: import java.io.*; import java.net.Socket; import java.util.Date; /** * Created by CLY on 2017/7/11. */ public class ClientSocket { public static void main(String[] arg){ int port = 233;//与之连接的服务

java网络编程socket\server\TCP笔记(转)

java网络编程socket\server\TCP笔记(转) 2012-12-14 08:30:04|  分类: Socket |  标签:java  |举报|字号 订阅 1 TCP的开销 a  连接协商三次握手,c->syn->s,s->syn ack->c, c->ack->s b  关闭协商四次握手,c->fin->s, s->ack-c,s->fin->c,c->ack->s c  保持数据有序,响应确认等计算开销 d

Java网络编程(ServerSocket和Socket)

服务器端 package org.tcp; import java.io.PrintStream; import java.net.ServerSocket; import java.net.Socket; public class HelloServer { public static void main(String[] args) throws Exception{ ServerSocket server = null; Socket client = null; PrintStream

java Tcp Socket 传输图片代码

server端代码 import java.net.*; import java.io.*; public class ServerTcpListener implements Runnable{ public static void main(String[] args){ try{ final ServerSocket server = new ServerSocket(); InetAddress addr = java.net.Inet4Address.getLocalHost(); S