`
nowistoday
  • 浏览: 6726 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

socket编程源码

阅读更多
package socket;

import java.awt.BorderLayout;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Date;

import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;

@SuppressWarnings("serial")
public class Server extends JFrame {
    private JTextArea jta = new JTextArea();
   
    public static void main(String [] args) {
    new Server();
    }
   
    public Server() {
    getContentPane().setLayout(new BorderLayout());
    getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);
   
    setTitle("Server");
    setSize(500, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
   
    try {
    ServerSocket serverSocket = new ServerSocket(8000);
    jta.append("Server started at " + new Date() + "\n");
   
    Socket socket = serverSocket.accept();
   
    DataInputStream inputFromClient = new DataInputStream(socket.getInputStream());
    DataOutputStream outputToClient = new DataOutputStream(socket.getOutputStream());
   
    while(true) {
        double radius = inputFromClient.readDouble();
       
        double area = radius * radius * Math.PI;
       
        outputToClient.writeDouble(area);
       
        jta.append("Radius received from client: " + radius + "\n");
        jta.append("Area found: " + area + '\n');
    }
    } catch (IOException ex) {
    System.err.println(ex);
    }
   
   
    }
}
---------------------------------------------

package socket;

import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;

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 Client extends JFrame implements ActionListener {

private JTextField jtf = new JTextField();

private JTextArea jta = new JTextArea();

private DataOutputStream toServer;
private DataInputStream fromServer;

public static void main(String [] args) {
new Client();
}
public void actionPerformed(ActionEvent e) {
String actionCommand = e.getActionCommand();

if (e.getSource() instanceof JTextField) {
try {
double radius = Double.parseDouble(jtf.getText().trim());

toServer.writeDouble(radius);
toServer.flush();

double area = fromServer.readDouble();

jta.append("radius is " + radius + "\n");
jta.append("area received from the server is " + area + "\n");
} catch (IOException ex) {
System.err.println(ex);
}
}
}
public Client () {
JPanel p = new JPanel();
p.setLayout(new BorderLayout());
p.add(new JLabel("Enter radius "), BorderLayout.WEST);
p.add(jtf, BorderLayout.CENTER);
jtf.setHorizontalAlignment(JTextField.RIGHT);

this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add(p, BorderLayout.NORTH);
this.getContentPane().add(new JScrollPane(jta), BorderLayout.CENTER);

jtf.addActionListener(this);

setTitle("Server");
    setSize(500, 300);
    setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    setVisible(true);
   
    try {
    Socket socket = new Socket("localhost", 8000);
   
    fromServer = new DataInputStream(socket.getInputStream());
   
    toServer = new DataOutputStream(socket.getOutputStream());
   
    } catch (IOException ex) {
    jta.append(ex.toString() + "\n");
    }

}



}
分享到:
评论

相关推荐

    实战Linux Socket编程源码

    在这个"实战Linux Socket编程源码"中,我们可以深入理解并实践Socket的工作原理和应用。源代码的第11章着重于处理多个客户端的连接,这是构建服务器端应用时常见的需求,例如聊天室或在线游戏服务器。 首先,让我们...

    Android Socket编程源码(与PC通讯)-IT计算机-毕业设计.zip

    这份"Android Socket编程源码(与PC通讯)"的压缩包提供了一个实用的示例,帮助学生理解如何在Android设备上通过Socket进行数据传输并与PC进行通讯。以下是关于这个主题的详细知识点: 1. **Socket基本概念**: - ...

    Android源码——Socket编程源码(与PC通讯).zip

    本资源"Android源码——Socket编程源码(与PC通讯).zip"提供了Android应用程序使用Socket与PC进行通讯的具体实现。下面我们将详细探讨相关的Android Socket编程知识。 首先,Socket是网络编程中的一个概念,它提供...

    Android Socket编程源码(与PC通讯).zip

    这个压缩包"Android Socket编程源码(与PC通讯).zip"包含了用于演示如何让Android设备与个人计算机(PC)通过网络进行数据交换的源代码。让我们深入探讨一下Android Socket编程以及它如何与PC进行通讯。 首先,...

    windows socket编程源码

    本资源“windows socket编程源码”提供了一个初学者学习Winsock编程的范例,对于想要深入理解网络编程的人来说,这是一个很好的起点。 首先,让我们了解一下Winsock的基本概念: 1. **Winsock初始化**:在使用...

    Android代码-Socket编程源码与PC通讯.zip

    本压缩包“Android代码-Socket编程源码与PC通讯.zip”提供了一套完整的示例,帮助开发者理解和实践Android应用中的Socket通信。 首先,我们需要了解Socket的基本概念。Socket,也被称为套接字,是网络通信中的一个...

    Android Socket编程源码(与PC通讯).rar

    在这个“Android Socket编程源码(与PC通讯)”的项目中,我们可以预期包含以下关键知识点: 1. **Socket基础**:Socket分为ServerSocket和Socket两种类型。ServerSocket是服务端使用的,用于监听客户端的连接请求...

    安卓Android源码——Socket编程源码(与PC通讯).zip

    这份"安卓Android源码——Socket编程源码(与PC通讯).zip"压缩包包含了一个实例,演示了如何使用Java的Socket API在Android设备上建立与PC的连接并进行数据交换。 首先,让我们理解Socket的基本概念。Socket是一种...

    AndroidSocket编程源码与PC通讯.zip

    这个"Android Socket编程源码与PC通讯.zip"文件包含的资源可能是一个示例项目,演示了如何在Android应用中使用Socket与个人计算机(PC)进行双向通信。以下是对这个主题的详细讲解: 1. **Socket基础概念**: - ...

    C# Socket编程源码 傻瓜式注释 简单易懂 易学习 服务器端 客户端

    通过深入学习和理解这个C# Socket编程源码,你可以掌握网络编程的基本原理和实践技巧,这对于开发任何需要网络通信的应用程序都是非常重要的。无论是构建聊天应用、文件传输系统还是分布式系统,Socket编程都是必不...

    java Socket 编程源码

    Java Socket编程是网络编程的基础,它提供了在Java中进行低级网络通信的接口。Socket是TCP/IP协议族的一部分,用于实现客户端与服务器之间的双向通信。在这个"java TCP_IP Socket 编程"源码中,我们可以深入理解...

    android socket编程源码—同一台PC的两个模拟器间的通信附详细文档

    android socket编程源码—同一台PC的两个模拟器间的通信附详细文档 android socket编程源码—同一台PC的两个模拟器间的通信附详细文档 android socket编程源码—同一台PC的两个模拟器间的通信附详细文档

    Android Socket编程源码(与PC通讯)

    分析这两个文件的源码可以帮助我们更好地理解和应用Android Socket编程。 总的来说,Android Socket编程涉及到网络通信的基础知识,包括TCP/IP协议、Socket接口以及输入输出流的使用。通过学习和实践,开发者可以...

    Android Socket编程源码(与PC通讯).zip项目安卓应用源码下载

    Android Socket编程源码(与PC通讯).zip项目安卓应用源码下载Android Socket编程源码(与PC通讯).zip项目安卓应用源码下载 1.适合学生毕业设计研究参考 2.适合个人学习研究参考 3.适合公司开发项目技术参考

    Socket编程源码(与PC通讯).zip

    在这个"Socket编程源码(与PC通讯).zip"压缩包中,包含了一个Android客户端(Socket_Client)和一个PC服务器端(Socket_Server)的示例,用于演示如何实现手机和电脑之间的TCP通信。 TCP(Transmission Control ...

    Android源码——Socket编程源码(与PC通讯).7z

    Android源码——Socket编程源码(与PC通讯).7z

    socket编程源码——TCP协议

    在IT领域,Socket编程是构建网络应用程序的基础,它允许程序通过网络进行通信。TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输层协议,广泛应用于互联网中的数据交换。本示例是一个C++实现的TCP...

Global site tag (gtag.js) - Google Analytics