python模拟TCP UDP server client

TCP server

import socket

address=('0.0.0.0',10000)  
s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(address)
s.listen(128)
while 1:  
    client_socket, clientAddr = s.accept()
    recv_data = client_socket.recv(1024)
    print('got tcpdata from:', recv_data)    
    client_socket.send("thank you !".encode('gbk'))
    client_socket.close()
s.close()

TCP client

# -*- coding: utf-8 -*-
import socket
 
# 创建socket
tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 
# 目的信息

address=('140.143.18.81',10000)
 
# 链接服务器
tcp_client_socket.connect(address)
 
# 提示用户输入数据
send_data = input("请输入要发送的数据:")
 
tcp_client_socket.send(send_data.encode("gbk"))
 
# 接收对方发送过来的数据,最大接收1024个字节
recvData = tcp_client_socket.recv(1024)
print('接收到的数据为:', recvData.decode('gbk'))
 
# 关闭套接字
tcp_client_socket.close()

 

 

UDP server

# -*- coding: utf-8 -*-
import socket
#创建socket对象
#SOCK_DGRAM    udp模式
address=('0.0.0.0',10000)  
s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
s.bind(address)  #绑定服务器的ip和端口
while 1:  
    data,addr=s.recvfrom(1024)  
    if not data:  
        break  
    print "got data from",addr  
    print(data.decode())# decode()解码收到的字节
s.close()

UDP client

# -*- coding: utf-8 -*-
import socket

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
addr = ("127.0.0.1", 6000)

while True:
    data = input("Please input your name: ")
    if not data:
        continue
    s.sendto(data.encode(), addr)
    response, addr = s.recvfrom(1024)
    print(response.decode())
    if data == "exit":
        print("Session is over from the server %s:%s\n" % addr)
        break

s.close()

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值