用Socket实现的简单客户端和服务端程序(一)

 首先需要了解下Socket的原理,我在前面已经说过了可以参考http://blog.csdn.net/RoyYeah/archive/2009/11/06/4778552.aspx

接下来我们用VS2008建立两项目是ServerWindowsForms和ClientWindowsFroms

我实现的是监听本地主机(127.0.0.1)的8080端口

 

 

 

一 ServerWindowsForms的代码如下

 

ServerWindowsForms.Desinger.cs的代码如下

ServerWindowsForms.cs的代码如下

 

 

 

 

 

二  ClientWindowsForms的代码如下

ClientWindowsForms.Desinger.cs的代码如下

ClientWindowsForms.cs的代码如下

 

该程序在Windows 7 下用vs2008调试通过。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Socket编程是一种在计算机网络中实现进程通信的方法。在Java中,可以使用java.net包中的Socket类来创建一个客户端。编写Socket客户端程序的过程包括以下几个步骤: 1. 导入必要的类:导入java.net包中的Socket和IOException类。 2. 创建Socket对象:使用Socket构造函数创建一个Socket对象。构造函数需要传入服务器的IP地址和端口号。 3. 获取输入输出流:通过Socket对象的getInputStream()方法获取输入流和getOutputStream()方法获取输出流。 4. 发送和接收数据:使用输出流向服务器发送数据,并使用输入流接收服务器返回的数据。 5. 关闭Socket连接:使用Socket对象的close()方法关闭连接。 下面是一个简单的Java Socket客户端程序示例: ```java import java.io.*; import java.net.*; public class SocketClient { public static void main(String[] args) { try { // 创建Socket对象,指定服务器的IP地址和端口号 Socket socket = new Socket("服务器IP地址", 端口号); // 获取输出流 OutputStream outputStream = socket.getOutputStream(); // 向服务器发送数据 String message = "需要发送的数据"; outputStream.write(message.getBytes()); // 获取输入流 InputStream inputStream = socket.getInputStream(); // 接收服务器返回的数据 byte[] buffer = new byte[1024]; int length = inputStream.read(buffer); String response = new String(buffer, 0, length); System.out.println("服务器返回的数据:" + response); // 关闭连接 socket.close(); } catch (IOException e) { e.printStackTrace(); } } } ``` 在Python中,可以使用socket模块来创建一个服务端。编写Socket服务端程序的过程包括以下几个步骤: 1. 导入必要的模块:导入socket模块。 2. 创建Socket对象:使用socket.socket()函数创建一个socket对象。 3. 绑定地址和端口:使用socket对象的bind()方法绑定服务器的IP地址和端口号。 4. 开始监听:使用socket对象的listen()方法开始监听,等待客户端连接。 5. 建立连接:使用socket对象的accept()方法接收客户端的连接请求,并返回客户端Socket对象和地址。 6. 接收和发送数据:通过客户端Socket对象进行数据的接收和发送。 7. 关闭连接:使用socket对象的close()方法关闭连接。 下面是一个简单的Python Socket服务端程序示例: ```python import socket # 创建socket对象 s = socket.socket() # 绑定地址和端口 host = '0.0.0.0' port = 20000 s.bind((host, port)) # 开始监听 s.listen(6) # 建立连接 conn, addr = s.accept() # 接收数据 data = conn.recv(1024) print(data.decode()) # 发送数据 data_last = data.decode() conn.send(f"{data_last},也算我一个,青鸟是我的!".encode()) # 关闭连接 s.close() conn.close() ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值