文档章节

<Java 网络基础知识>学习日志(三)——基于TCP的socket实现

WhuBit
 WhuBit
发布于 2016/11/19 23:18
字数 294
阅读 25
收藏 0

精选30+云产品,助力企业轻松上云!>>>

package 网络基础知识;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;

public class TCPServerSocket {
	/*
	 * 2016/11/19
	 * 基于TCP的ServerSocket
	 */

	public static void main(String[] args) {
	
		try {
			//创建一个服务器端Socket,并指定监听端口
			ServerSocket ser=new ServerSocket(8888);
			int count=0;
			//开始监听
			System.out.println("====请系好安全带,服务器即将启动====");
			while(true){
				Socket socket=ser.accept();
				SocketThread st=new SocketThread(socket);
				//启动线程
				st.start();
				count++;
				InetAddress address=socket.getInetAddress();
				System.out.println("客户端的IP:"+address.getHostAddress());
				System.out.println("已连接用户:"+count);
			}
		} catch (IOException e) {
			e.printStackTrace();
		}

	}

}

package 网络基础知识;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

public class TCPClientSocket {

	public static void main(String[] args) {	
			try {
				//创建客户端Socket,制定服务器地址和端口
				Socket socket=new Socket("localhost",8888);
				//获取输出流,向服务器端发送信息
				OutputStream os=socket.getOutputStream();
				OutputStreamWriter osr=new OutputStreamWriter(os);
				PrintWriter pw=new PrintWriter(osr);
				
				pw.write("用户名:Sam;密码:8888888");
				pw.flush();//发出信息
				
				
				
				//关闭输出、输出流
				socket.shutdownOutput();
				
				InputStream is=socket.getInputStream();
				InputStreamReader isr=new InputStreamReader(is);
				BufferedReader br=new BufferedReader(isr);
				
				String info=null;
				while((info=br.readLine())!=null)
					System.out.println("我是客户端,服务器说:"+info);
				socket.shutdownInput();
				//关闭其他资源
				os.close();
				osr.close();
				pw.close();
				
				is.close();
				isr.close();
				br.close();
				socket.close();
			} catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			
			
			
		
		

	}

}
WhuBit
粉丝 1
博文 12
码字总数 4328
作品 0
武汉
私信 提问
加载中
请先登录后再评论。
【Java TCP/IP Socket】Socket编程大合集

转载请注明出处:http://blog.csdn.net/ns_code/article/details/17526127 为了方便各位网友学习以及方便自己复习之用,将Java TCP/IP Socket编程系列内容按照由浅入深的学习顺序总结如下,点...

wangwei2134
2018/11/06
0
0
Java--Socket通信

下面内容是Java开发内容的高级知识点,需要对Java中的面向对象、IO、多线程、以及网络相关知识有一定的基础。(知识永远都有深度,本章节长期更新内容) 1、网络基础知识 网络通信的条件:1、两...

何杨
2017/02/06
0
0
Java面试知识点汇总

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/qq33945246/article/details/89922244 为了找到心仪的工作而努力吧 ...

温柔的谢世杰
2019/05/07
0
0
JAVA 分布式 - 分布式介绍

什么是分布式系统? 要理解分布式系统,主要需要明白一下2个方面: 1.分布式系统一定是由多个节点组成的系统。 其中,节点指的是计算机服务器,而且这些节点一般不是孤立的,而是互通的。 2....

osc_9yc7q9oq
03/13
2
0
常见后端面试题附链接

Java基础问题 String的’+’的性能及原理 java之yield(),sleep(),wait()区别详解-备忘笔记 深入理解Java Stream流水线 抽象 & abstract关键字 Java final 修饰符知识点总结(必看篇) Java中的...

瑞查德-Jack
2019/04/08
794
0

没有更多内容

加载失败,请刷新页面

加载更多

CPU缓存和内存屏障

CPU性能优化手段 - 缓存 为了提高程序的运行性能, 现代CPU在很多方面对程序进行了优化 例如: CPU高速缓存, 尽可能的避免处理器访问主内存的时间开销, 处理器大多会利用缓存以提高性能 多级缓...

CodingDiary
2019/07/08
25
0
关于我及本号的一些说明

初次关注本号的读者可能比较想了解本号的一些情况,这里单独写篇文章详细介绍下本人及本公号。 本人是一名 JAVA 后台开发工程师,17年毕业于某 211 工程硕士,校招进入某股份制银行做后台开发...

gaiserchan
2019/02/22
14
0
卷积神经网络学习路线(十二)| 继往开来的DenseNet

前言 这是卷积的第十二篇文章,主要为大家介绍一下DenseNet,值得一提的是DenseNet的作者也是上一篇卷积神经网络学习路线(十一)| Stochastic Depth(随机深度网络)论文的作者,即清华的黄...

BBuf
01/10
24
0
Android Camera原理之camera provider启动

1.camera provider进程介绍: cameraserver 736 1 274664 69564 binder_thread_read f3de10cc S android.hardware.camera.provider@2.4-service 其中的pid是736,说明camera provider进程启动......

天王盖地虎626
41分钟前
20
0
Angular / RxJs我应该何时退订`Subscription` - Angular/RxJs When should I unsubscribe from `Subscription`

问题: When should I store the Subscription instances and invoke unsubscribe() during the NgOnDestroy life cycle and when can I simply ignore them? 在NgOnDestroy生命周期中,什么......

法国红酒甜
42分钟前
15
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部