关于Java的Socket编程,不在啰嗦,仅作为自己学习、总结mark之用,各位收下留情。
【Socket读取】:
/**
* [Product]
* netChat
* [Copyright]
* Copyright © 2012 All Rights Reserved.
* [FileName]
* ServerReader.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 2012-3-12 yangchao 最初版本
*/
package com.net.chat.server;
import java.io.DataInputStream;
import java.io.IOException;
/**
* <b>Summary: </b>
* 服务端Socket读取类
* <b>Remarks: </b>
* 服务端Socket读取类
*/
public class ServerReader extends Thread {
private DataInputStream dis;
public ServerReader(DataInputStream dis) {
this.dis = dis;
}
public void run() {
String info;
try {
while (true) {
info = dis.readUTF();
System.out.println("对方说:" + info);
if (info.equals("bye")) {
System.out.print("对方已退出");
System.exit(0);
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
【Socket写入】:
/**
* [Product]
* netChat
* [Copyright]
* Copyright © 2012 All Rights Reserved.
* [FileName]
* ServerWriter.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 2012-3-12 yangchao 最初版本
*/
package com.net.chat.server;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
/**
* <b>Summary: </b>
* 服务端Socket写入类
* <b>Remarks: </b>
* 服务端Socket写入类
*/
public class ServerWriter extends Thread {
private DataOutputStream dos;
public ServerWriter(DataOutputStream dos) {
this.dos = dos;
}
public void run() {
InputStreamReader isr = new InputStreamReader(System.in);
BufferedReader bf = new BufferedReader(isr);
String info;
while (true) {
try {
info = bf.readLine();
dos.writeUTF(info);
if (info.equals("bye")) {
System.out.print("你已经下线");
System.exit(0);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
【服务端Main方法】
/**
* [Product]
* netChat
* [Copyright]
* Copyright © 2012 All Rights Reserved.
* [FileName]
* TestServer.java
* [History]
* Version Date Author Content
* -------- --------- ---------- ------------------------
* 1.0.0 2012-3-12 yangchao 最初版本
*/
package com.net.chat.server;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
/**
* <b>Summary: </b>
* 服务端 Main 方法
* <b>Remarks: </b>
* 服务端 Main 方法
*/
public class TestServer {
public static void main(String[] args) {
try {
ServerSocket s = new ServerSocket(8888);
Socket s1 = s.accept();
InputStream is = s1.getInputStream();
DataInputStream dis = new DataInputStream(is);
OutputStream os = s1.getOutputStream();
DataOutputStream dos = new DataOutputStream(os);
new ServerReader(dis).start();
new ServerWriter(dos).start();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
java源代码 实现多人窗口同时在线聊天
摘要:Java源码,网络相关,聊天程序 一个Java聊天程序服务端和客户端程序,C/S结构,ChatServer 类实现了一个聊天室服务器端, 此类有一个构造器, 在构造器中使用newServerSocket()建立一个Socket 连接。RunServer()...
Java聊天程序,服务端和客户端两个源代码,运行于WEb平台,内容涉及到Applet布局管理器,增加面板到...C/S结构的网络聊天室,同时也是Java程序爱好者初学Java网络编程的典型入门实例。聊天程序客户端运行截图如上所示。
模仿聊天工具QQ,Java编写客户端和服务端代码,有助于对Java多线程编程和网络编程的认识。
利用java网络编程基于TCP协议,实现的客户端和服务器聊天的小demo,直接运行即可,帮助新入门的伙伴,理解网络编程.
java聊天室网络通信客户端与服务端
用java语言实现聊天效果,有文本域,点击发送按钮可以发送数据,之后能在接收方的文本域显示信息,接受方也可以进行相应的操作
this.setTitle("聊天室客户端"); //设置标题 //程序图标 icon = getImage("icon.gif"); this.setIconImage(icon); //设置程序图标 show(); //为操作菜单栏设置热键'V' operateMenu.setMnemonic('O')...
当用户发送聊天信息时,服务端将会收到客户端用Socket传输过来的聊天信息对象,然后将其强制转换为Chat对象,并将本次用户的聊天信息对象添加到聊天对象集Message中,以供所有聊天用户访问。 接收用户的聊天信息是由...
java简易聊天程序,使用TCP socket套接字安全协议,对象流二进制序列化传输。 简易局域网聊天程序,暂时只能发送文本消息。 此程序既是socket服务器又可以作为socket客户端。由于鄙人写的关闭服务和断开连接还存在...
本次课程设计是一个类似于QQ的聊天软件,结合所学Java课程,用Java完成了图形化界面和事件处理、多线程编程、Socket通信、数据库存储,保存通信记录的功能,完成网络聊天软件。进行编程实验,程序代码编写、调试、...
包含了客户端与服务端的设计Java聊天室程序源 2 需求分析 2.1 业务需求 1. 与聊天室成员一起聊天。 2. 可以与聊天室成员私聊。 3. 可以改变聊天内容风格。 4. 用户注册(含头像)、登录。 5. 服务器监控聊天...
网络聊天室程序一套用vb开发的语音系统 本站以C语言和Java语言、嵌入式开发、算法实现为主,源码数量达几十万个,有200多个分类,很多都是本站会员的私家珍藏,互联网上其他地方是找不到的
适合java初学者,可以帮助你们了解简单的图形化界面,和网络编程
java网络聊天工具j,有服务端、客户端、群聊功能,实现局域网聊天
java基于TCP网络编程简单聊天窗口(包含登录,注册,客户端和服务端图形界面和数据库 储存注册信息) 适合新手当作业或学习
本软件是采用sun公司开发提供的java语言制作的,是基于C/S模型的网上聊天室。这个系统分为两个部分,服务端和客户端。服务端的工作主要是来监听和接收来自客户端的请求,然后处理客户端发来的消息,并通知客户端。...
基于Vue+SpringBoot+WebSocket实现Web端聊天系统+网络通信+心跳+客户端服务端+后端java+mysql 项目经过严格测试,确保可以运行! 下载代码后,先配置好yml文件:数据库和微信号appid、secret(other包下面有数据库)...
本次资源通俗易懂,有利于初学者学习java中的网络编程
1. 用Java图形用户界面编写聊天室服务器端和客户端, 支持多个客户端连接到一个服务器。每个客户端能够输入账号。 2. 可以实现群聊(聊天记录显示在所有客户端界面)。 3. 完成好友列表在各个客户端上显示。 4. 可以...