文档章节

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

WhuBit
 WhuBit
发布于 2016/11/19 23:18
字数 294
阅读 7
收藏 0
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
武汉
架构师必备技能之Netty 高并发 UTS 项目实战

一、Netty Netty是由JBOSS提供的一个java开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。 也就是说,Netty 是一个基...

A尚学堂Nancy老师
08/27
0
0
JAVA基础再回首(二十八)——网络编程概述、IP地址、端口号、TCP和UDP协议、Socket、UDP传输、多线程UDP聊天

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52723439 JAVA基础再回首(二十八)——网络编程概述、IP地址、端口号、TCP和UDP协议...

Aduroidpc
2016/10/02
0
0
JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千!

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724939 JAVA基础再回首(三十)——JAVA基础再回首完美结束,感概万千! 经过了几...

Aduroidpc
2016/10/02
0
0
JAVA基础再回首(二十九)——TCP传输、上传文件、上传图片、多并发上传

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/m366917/article/details/52724684 JAVA基础再回首(二十九)——TCP传输、上传文件、上传图片、多并发上传 ...

Aduroidpc
2016/10/02
0
0
Java技术体系大全,准备面试的可以参考一下!

JAVA技术体系1.1 Java程序员 ·高级特性 反射、泛型、注释符、自动装箱和拆箱、枚举类、可变参数、可变返回类型、增强循环、静态导入 ·核心编程 IO、多线程、实体类、集合类、正则表达式、X...

heiyexue
2015/08/17
0
2

没有更多内容

加载失败,请刷新页面

加载更多

Vue学习资料

一直以为Vue是依赖nodejs的。 作为前端也可以耦合性就很低了。 //npm包管理器 进行管理npm install vue//初始化一个项目vue init//本地调试npm run dev//编译完成 ...

大灰狼wow
27分钟前
1
0
fullcalendar重新渲染

uiCalendarConfig.calendars.lesson_calendar.fullCalendar('removeEvents');var ym = uiCalendarConfig.calendars.lesson_calendar.fullCalendar('getView').title;$scope.get_lesson(y......

人来疯啊
32分钟前
1
0
多渠道打包总结

https://www.jianshu.com/p/2130db7584c8 https://blog.csdn.net/u011153817/article/details/50772496...

塔塔米
41分钟前
1
0
android -------- Data Binding的使用 ( 六) 自定义属性

今天来说说DataBinding在自定义属性的使用 默认的android命名空间下,我们会发现并不是所有的属性都能直接通过data binding进行设置,比如margin,padding,还有自定义View的各种属性。 默认...

切切歆语
47分钟前
1
0
收邮件 下载附件

uses IdMessage, IdMessageParts, IdAttachment, IdGlobalProtocols, ...;procedure SaveAttachmentsFromFile(FileName: String)var IdMessage: TIdMessage; MsgPart: Ti......

vga
53分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部