文档章节

网络编程(Socket)

树上的窝
 树上的窝
发布于 2017/05/01 16:04
字数 242
阅读 3
收藏 0

TCP协议利用Socket类编写聊天程序

客户端 :

import java.io.*;
import java.net.*;

public class MyClient1 {

	public static void main(String[] args) throws Exception {
		Socket s = new Socket(InetAddress.getLocalHost(), 1116);
		// 从键盘读数据
		BufferedReader buff = new BufferedReader(new InputStreamReader(
				System.in));
		// 将数据写入输出流
		BufferedWriter buffout = new BufferedWriter(new OutputStreamWriter(
				s.getOutputStream()));
		// 接受服务端的数据
		BufferedReader buffin = new BufferedReader(new InputStreamReader(
				s.getInputStream()));
		String str = null;
		while ((str = buff.readLine()) != null) {
                if (str.equals("over"))
				   break;
			buffout.write(str);
			buffout.newLine(); // readline 是以回车符作为结束的标记,所以要加上newline
			buffout.flush();
			System.out.println("服务器:" + buffin.readLine());
		}
		s.close();
		buff.close();
	}

}

 

服务端:

import java.io.*;
import java.net.*;

public class Server1 {

	public static void main(String[] args) throws Exception {
		// 创建服务
		ServerSocket ss = new ServerSocket(1116);
		// 等待客户连接
		Socket s = ss.accept();
		// 获取输入流信息
		BufferedReader buffin = new BufferedReader(new InputStreamReader(
				s.getInputStream()));
		// 从键盘获取信息
		BufferedReader buff = new BufferedReader(new InputStreamReader(
				System.in));
		// 反馈信息给客户
		BufferedWriter buffout = new BufferedWriter(new OutputStreamWriter(
				s.getOutputStream()));
		String str = null;
		while ((str = buffin.readLine()) != null) {
			System.out.println("客户:" + str);
			buffout.write(buff.readLine());
			buffout.newLine();        // readline 是以回车符作为结束的标记,所以要加上newline
			buffout.flush();
		}
		buffin.close();
		buffout.close();
		s.close();
		ss.close();

	}

}

 

© 著作权归作者所有

上一篇: 多线程
下一篇: IO流
树上的窝
粉丝 1
博文 15
码字总数 6762
作品 0
深圳
程序员
私信 提问
C#网络编程系列文章(六)之Socket实现同步UDP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/16
0
0
C#网络编程系列文章(五)之Socket实现异步UDP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/15
0
0
Linux网络编程:什么是Linux下的网络编程?

想知道Linux下的网络编程培训×××?先来了解一下什么是Linux下的网络编程吧!Linux下的网络编程指的是socket套接字编程,入门比较简单。在学校里学过一些皮毛,平时就是自学玩,没有见识过...

长沙千锋
2018/05/23
0
0
C#网络编程系列文章(二)之Socket实现同步TCP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/14
0
0
C#网络编程系列文章(一)之Socket实现异步TCP服务器

原创性声明 本文作者:小竹zz 本文地址http://blog.csdn.net/zhujunxxxxx/article/details/44258719 转载请注明出处 文章系列目录 C#网络编程系列文章(一)之Socket实现异步TCP服务器 C#网络编...

zhujunxxxxx
2015/03/14
0
0

没有更多内容

加载失败,请刷新页面

加载更多

数据库中间件MyCat

什么是MyCat? 查看官网的介绍是这样说的 一个彻底开源的,面向企业应用开发的大数据库集群 支持事务、ACID、可以替代MySQL的加强版数据库 一个可以视为MySQL集群的企业级数据库,用来替代昂贵...

沉浮_
今天
4
0
解决Mac下VSCode打开zsh乱码

1.乱码问题 iTerm2终端使用Zsh,并且配置Zsh主题,该主题主题需要安装字体来支持箭头效果,在iTerm2中设置这个字体,但是VSCode里这个箭头还是显示乱码。 iTerm2展示如下: VSCode展示如下: 2...

HelloDeveloper
今天
6
0
常用物流快递单号查询接口种类及对接方法

目前快递查询接口有两种方式可以对接,一是和顺丰、圆通、中通、天天、韵达、德邦这些快递公司一一对接接口,二是和快递鸟这样第三方集成接口一次性对接多家常用快递。第一种耗费时间长,但是...

程序的小猿
今天
4
0
Python机器学习之数据探索可视化库yellowbrick

背景介绍 从学sklearn时,除了算法的坎要过,还得学习matplotlib可视化,对我的实践应用而言,可视化更重要一些,然而matplotlib的易用性和美观性确实不敢恭维。陆续使用过plotly、seaborn,...

yeayee
今天
8
0
重读《学习JavaScript数据结构与算法-第三版》- 第5章 队列

定场诗 马瘦毛长蹄子肥,儿子偷爹不算贼,瞎大爷娶个瞎大奶奶,老两口过了多半辈,谁也没看见谁! 前言 本章为重读《学习JavaScript数据结构与算法-第三版》的系列文章,主要讲述队列数据结...

胡哥有话说
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部