客户端 :
import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class TalkClient extends JFrame{
private JPanel myPanel;
private JLabel enterLabel;
private JTextField enterField;
private JTextArea displayArea;
private ObjectOutputStream output;
private Socket socket;
public TalkClient() {
super("Client Port");
Container container = getContentPane();
myPanel = new JPanel();
myPanel.setLayout(new FlowLayout());
enterLabel = new JLabel("输入:");
enterField = new JTextField(20);
enterField.setEditable(true);
enterField.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
sendData(e.getActionCommand());
enterField.setText("");
}
});
myPanel.add(enterLabel);
myPanel.add(enterField);
container.add(myPanel,BorderLayout.NORTH);
displayArea = new JTextArea();
container.add(new JScrollPane(displayArea),BorderLayout.CENTER);
setSize(320, 180);
setVisible(true);
connect();
}
public void connect() {
try {
socket = new Socket("127.0.0.1",7777);
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
private void sendData(String str) {
try {
output.writeObject("客户端>>> "+str);
} catch (IOException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
new TalkClient();
}
}
服务器端 :
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.rmi.server.SocketSecurityException;
public class TalkServer {
private ObjectInputStream input;
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(7777);
while(true) {
Socket socket = ss.accept();
System.out.println("连接上了");
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
TalkToMe一种Google chrome助手,适用于视障互联网用户。 功能-向用户大声读取网页的内容-将网页上的内容分组为标题,段落内容和表格等类别,以便应用户的要求大声阅读每个类别-在不同选项卡中打开新网页-执行Google...
《TalkToMe: Twisted消息服务器与iOS 8客户端Swift实现详解》 本文将深入探讨一个名为"TalkToMe"的项目,该项目结合了Twisted消息服务器和使用Swift开发的iOS 8客户端应用。让我们逐步解析这个项目的核心知识点,...
跟我说话 一个使用HTML和CSS开发的简单Javascript... 为了实现我所学的知识,我做到了。 它试图回答所提出的问题。 由于它只能回答我教过的问题,因此答案非常有限。 仅使用JavaScript来获取答案并将其打印到显示器上。
TalkToMe API 使用Node to构建的API服务器,用于TalkToMe Web和Mobile。 阅读带有此URL的TalkToMe,以了解此API尝试实现的内容可以在这里找到该API Live文档:入门这些说明将为您提供在本地计算机上运行并运行的项目...
【Talk to Customer-crx插件】是一款专为LinkedIn用户设计的浏览器扩展程序,它主要功能是帮助用户将LinkedIn账户的cookie信息应用于talktocustomer.ai平台。这个插件旨在简化流程,自动化设置,使得用户能够在...
将mail.jar、soap.jar、activation.jar、xerces.jar放到tomcat/lib下面, tomcat运行时会自动加载tomcat/lib下的所有类库 ... Sorry, I don't speak via HTTP GET- you have to use HTTP POST to talk to me.
基于 Node.js(Express 和 Socket.io)的应用 ##API #####初始化 var stream = require ( 'talktome' ) . getStream ( ) ; #####Get 相机/音频缓冲流 stream . RTCIO ( ) . camera ;stream . RTCIO ( ) . audio ; ...
2015年春八年级英语下册 Unit 4 Why don't you talk to your parents Section B课件 (新版)人教新目标版
输入语音即可帮助您输入语音 永远忘了打字。 这是一个了不起的chrome插件,它将让您永远忘记“打字”。 当您只需要对着计算机说话时,为什么还要再输入一次,它将为您输入。 只需允许网页具有麦克风权限即可启用此...
POC(Push-to-talk)标准,也称为Push-to-Talk Over Cellular,是一种移动通信技术,它使得用户可以像对讲机一样即时通讯,无需按下通话键就能与另一方进行单向语音交流。这一功能在一些特定领域,如紧急服务、物流...
八年级英语下册 Unit 4 Why don’t you talk to your parents(Section A 1a-2d)导学案(无答案)(新版)人教新目标版
八年级英语下册 Unit 4 Why don’t you talk to your parents(Section B 1a-1e)导学案(无答案)(新版)人教新目标版
八年级英语下册 Unit 4 Why don’t you talk to your parents(Section A 3a-4c)导学案(无答案)(新版)人教新目标版
八年级英语下册 Unit 4 Why don’t you talk to your parents(Section B 2a-2e)导学案(无答案)(新版)人教新目标版
2014年春八年级英语下册《Unit4 Why don’t you talk to your parents》(第1课时)导学案(无答案) (新版)人教新目标版
八年级英语下册 Unit 4 Why don’t you talk to your parents(Section B 3b-self-check)导学案(无答案)(新版)人教新目标版
【金榜学案】2014版八年级英语下册 Unit 4 Why don’t you talk to your parents Section A (1a-2d)课件 (新版)人教新目标版