python tcp 脚本
时间: 2023-10-16 07:07:14 浏览: 112
以下是一个简单的 Python TCP 客户端脚本,可以连接到指定的服务器和端口,并发送消息:
```python
import socket
server_ip = '127.0.0.1'
server_port = 12345
# 创建 TCP socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
client_socket.connect((server_ip, server_port))
# 发送消息
message = 'Hello, server!'
client_socket.send(message.encode())
# 接收服务器响应
response = client_socket.recv(1024)
print(f'Response from server: {response.decode()}')
# 关闭连接
client_socket.close()
```
以上代码中,我们首先指定了服务器的 IP 地址和端口号。然后创建了一个 TCP socket 对象,并使用 `connect()` 方法连接到服务器。接着,我们发送了一条消息,并使用 `recv()` 方法接收服务器的响应。最后,我们关闭了连接,释放资源。
当然,以上代码只是一个简单的例子,实际应用中我们需要考虑很多其他问题,例如异常处理、数据缓冲等。
相关问题
python tcp压测脚本
在Python中编写TCP压力测试脚本通常涉及到socket库的使用,目的是模拟大量并发连接请求,评估服务器的性能和负载承受能力。以下是一个简单的TCP压力测试脚本示例:
```python
import socket
import threading
# 设置目标主机和端口
host = 'your-target-host'
port = 80 # 这里假设是HTTP默认端口
def send_request(client_socket):
request = "GET / HTTP/1.1\r\nHost: {}\r\nConnection: close\r\n\r\n".format(host)
client_socket.sendall(request.encode())
client_socket.close()
def do_request():
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
client.connect((host, port))
thread = threading.Thread(target=send_request, args=(client,))
thread.start()
except Exception as e:
print(f"Error: {e}")
finally:
client.close()
# 定义并发数
concurrent_requests = 100
for _ in range(concurrent_requests):
threading.Thread(target=do_request).start()
print("Finished sending requests.")
```
这个脚本创建了多个线程,每个线程负责向指定主机发起一次TCP请求。你可以通过调整`concurrent_requests`变量来控制并发量。
python 循环收发 tcp 脚本
下面是一个 Python 循环收发 TCP 数据的脚本:
```python
import socket
HOST = '127.0.0.1' # 服务器 IP 地址
PORT = 8888 # 服务器端口号
# 创建 TCP socket 对象
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 连接服务器
s.connect((HOST, PORT))
while True:
# 发送数据
msg = input("请输入要发送的消息:")
s.sendall(msg.encode())
# 接收数据
data = s.recv(1024)
print("接收到的消息:", data.decode())
# 关闭连接
s.close()
```
这个脚本使用了 `socket` 模块创建了一个 TCP socket 对象,然后通过 `connect` 方法连接到指定的服务器。在循环中,用户可以输入要发送的消息并通过 `sendall` 方法发送给服务器,然后通过 `recv` 方法接收服务器返回的数据,并打印出来。当用户想要退出时,可以通过 `Ctrl-C` 组合键中断程序并关闭连接。
阅读全文